A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 hy19985125 于 2012-6-2 15:52 编辑

java程序必须要被jvm虚拟机加载类才能运行吗  可不可以把java程序编成类似.exe这样的可以直接在windows
系统中运行  而不需要机器装有jvm虚拟机  求解

5 个回复

倒序浏览
你可以用MFC把你的JAR包装成exe   但是实际上也就是通过调用来实现的,实际上还是要用到虚拟机的。
你可以把你的jre文件夹精简一下,然后跟你的JAR放在一起,使用的时候通过一个bat脚本,设置path为你自己带的jre,然后运行你的jar  这样就可以不用管电脑是不是装了java的运行环境了

评分

参与人数 1黑马币 +10 收起 理由
黄奕豪 + 10 很牛哦

查看全部评分

回复 使用道具 举报
是的,因为main()主函数是JVM的入口。
回复 使用道具 举报
传统的程序代码是直接在操作系统的控制下运行的,java则是jvm本身直接在操作系统的控制下,java程序是直接运行在jvm的控制下,java程序会被编译成.class文件,而.class文件最终是在jvm上解释执行的。
如果转换成.exe文件的话,可以不需要jvm,自己可以动手试一下

评分

参与人数 1黑马币 +10 收起 理由
黄奕豪 + 10 可以说明一下怎么来么?

查看全部评分

回复 使用道具 举报
冯敏 发表于 2012-6-2 15:58
传统的程序代码是直接在操作系统的控制下运行的,java则是jvm本身直接在操作系统的控制下,java程序是直接 ...

高人  求思路  求实例....
回复 使用道具 举报
呵呵,也不是高人,只是试过,可以互相交流一下,说一下思路
第一步:写java程序,例test/Test.java
    public class Test {
   public static void main(String[] args) throws Exception {
           Runtime r = Runtime.getRuntime();
           Process p = r.exec("sol.exe");  //打开纸牌游戏
   }
}
此程序可以正确运行
第二步:新建一文件manifest.mf(文件名可以自取),用来存放可执行类,就是存放带main方法的类,此例中其内容为
Main-Class:test.Test
第三步:打jar包
  cmd->相应目录->jar cvfm test.jar manifest.mf test 此例中为在相应目录下出现test.jar
第四步:转化成.exe文件
  这里我是用的是exe4j可执行文件转换工具,其下载地址http://www.ej-technologies.com/products/exe4j/overview.html,工具直接配置后可生成.exe文件
思路就这样了,动手试一试,如果有不对的地方请多多指教

评分

参与人数 1技术分 +1 收起 理由
袁錦泰 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马