一般的软件没有直接发布成jar文件的,除非是类库。

解决方案 »

  1.   

    我的意思是,我自己写的软件,要在别的其他机器上运行,因为不止一个机器,每个都装jre的话太麻烦
      

  2.   

    打包jre,与软件一起发布。写个简单的.exe。
      

  3.   

    有个软件叫exe4j,可以把java程序转成exe,在转的过程中可以把jre打包一起转。然后你就可以直接拷这个生成的exe文件到别的电脑上运行了,不过这样做生成的exe文件有点大。
      

  4.   

    制作一个压缩包,包括jre和你的程序,使用winrun4j制作exe启动程序。在配置文件里指定jre的相对位置。在目标机器,解压后,双击exe启动文件就启动了。
      

  5.   

    对呀,变相的给其他机器装了个jre,文件太大了,不过谢谢你的建议
      

  6.   

    对呀,变相的给其他机器装了个jre,文件太大了,不过谢谢你的建议
      

  7.   

    这个方法和楼上使用exe4j转成exe是一个道理吧求问其他办法
      

  8.   

    嗯,jre是必须的,就是太大了,可以部分安装吗,只安装需要的那部分?
      

  9.   


    不可以部分安装。java设计的时候没打算让使用者这么做,这么做的话,非常复杂。项目要修改维护的话,又要做JRE的工作。
    现在的电脑的配置都比较高了;java这种语言不是适合用来开发以节约配置为首要要求的软件。
      

  10.   

    我会c++还用来问吗再说c++也不是一月两月就可以学会的Java 也不是一两个月就可以学会的
      

  11.   

    得等jdk的模块化标准。貌似遥遥无期
      

  12.   

    可以精简一下jre,删掉几个没用的。不过首先得弄明白各个文件关联,不然删错了更麻烦。貌似玩游戏的时候有些需要安装的jre很小,知道是不是删减过得。另外,也不知道这么做是不是违反sun的协议(如果可行的话)。
      

  13.   

    http://download.java.net/jdk7/archive/b123/docs/technotes/guides/jweb/deployment_advice.html
    Java 6u10 后有一种网络安装的 Java Kernel Installer,可以根据需要下载。
       deployJava.setInstallerType('kernel');
       // include any required packages as shown below
       deployJava.setAdditionalPackages('javax.swing, javax.xml');
      

  14.   

    用exe4j将jar打成exe后,jre太大,jre1.6也得80多M,有没有方法将jre变得更小的简单方法的
    其中rt.jar40多M。
      

  15.   

    如果使用的人都通过局域网连到你,你可以尝试把你写测程序做成一个WebApp通过URL地址来调用的代码
      

  16.   

    没有java环境怎么运行java应用?
      

  17.   

    我说的是怎么将jre变得更简洁,把我程序中不需要的东西删掉,一个一个找太麻烦了,也费时间呐。。
      

  18.   


    不可以部分安装。java设计的时候没打算让使用者这么做,这么做的话,非常复杂。项目要修改维护的话,又要做JRE的工作。
    现在的电脑的配置都比较高了;java这种语言不是适合用来开发以节约配置为首要要求的软件。
    不要误导人,jre只要打包你用得到的就可以了,但是精简JRE有好多大神都做过,你如果自己做的话工作量不小,但是可以实现。
    我觉得,你可以不带jre然后运行,报ClassNotFound就把这个包(如果你愿意可以只打这个类)打进去,来一个while(true),你就做到了
      

  19.   

    而且,JBuilder支持编译成可执行文件,可以编译对应不同平台的,但是编译出来的对应系统的可执行文件是不可以跨平台的。
      

  20.   


    不可以部分安装。java设计的时候没打算让使用者这么做,这么做的话,非常复杂。项目要修改维护的话,又要做JRE的工作。
    现在的电脑的配置都比较高了;java这种语言不是适合用来开发以节约配置为首要要求的软件。
    不要误导人,jre只要打包你用得到的就可以了,但是精简JRE有好多大神都做过,你如果自己做的话工作量不小,但是可以实现。
    我觉得,你可以不带jre然后运行,报ClassNotFound就把这个包(如果你愿意可以只打这个类)打进去,来一个while(true),你就做到了
    用while捕捉异常的方式有3个问题:
    1. 要运行程序需要把基础类(不少于10M)都加载进去,不然运行不了,还怎么while
    2. 即使这样可以,求具体思路
    3. 并不是说不报ClassNotFound时,就可以完美运行了,有时不报这个异常,但程序还是运行不起来
      

  21.   


    不可以部分安装。java设计的时候没打算让使用者这么做,这么做的话,非常复杂。项目要修改维护的话,又要做JRE的工作。
    现在的电脑的配置都比较高了;java这种语言不是适合用来开发以节约配置为首要要求的软件。
    不要误导人,jre只要打包你用得到的就可以了,但是精简JRE有好多大神都做过,你如果自己做的话工作量不小,但是可以实现。
    我觉得,你可以不带jre然后运行,报ClassNotFound就把这个包(如果你愿意可以只打这个类)打进去,来一个while(true),你就做到了有很多内部类的。
    再就是,什么叫做能做到?在软件和编程中,能做到这个理由几乎是万能的。但是实际上,每种语言都有适合开发的软件,而不是适合所有软件。如果你要做个QQ,还是用C/C++合适。桌面软件用java你想几个M的大小,像C一样?
    什么叫做能做到?做一个软件全部使用JNI也能做到,你一个类库也不用说明你技术高?构建性比那些所谓一行代码就能实现云云更重要;架构能力比杂技伎俩更重要!
    拆分jre这种想法,初学者可能会有。但是如果你做一个比较大的项目,jre完整的安装上就是了。你在这里建议一个初学者去拆分jre?你不建议他去编译JVM?楼主的项目,JVM里面有很多部分用不到难道你不知道?
      

  22.   

    最新版的netbeans可以制作软件安装包了。
      

  23.   

    InnoSetup貌似也是能制作安装包的,如果用安装包方式的话,还不如直接安装个JDK,也就80多M,何必费劲自己再制作一个安装包呢?
      

  24.   

    InnoSetup貌似也是能制作安装包的,如果用安装包方式的话,还不如直接安装个JDK,也就80多M,何必费劲自己再制作一个安装包呢?
    你非要能够直接运行。本来我觉得安装JRE(不是JDK)就对了。很多语言,大部分语言都是需要一个运行平台的,微软的.net也是一个平台。
    就最终产品而言,C/C++是最好的,但是就开发者而言,不好学不好写。
    总而言之,没有一种可以适合任何需要的、没有不好的方面的、不需要平台的语言。我感觉最烂的是web开发,你没做过试试,web是需要乱中取胜的,相比之下,java舒服。
      

  25.   

    我会c++还用来问吗再说c++也不是一月两月就可以学会的
    学了C++后又会发现,不同机型或操作系统,要使用不同版本的编译器编译。
    各有千秋吧
      

  26.   

    C++和java都不太适合你,你学C#.net吧。
      

  27.   

    与其考虑这个问题,不如直接开发个Web应用,再弄个域名、服务器。这样别人不用下载安装也能使用你的程序了。
    或者直接用HTML+JS做,拷贝的时候也就几个小文件
      

  28.   

    用第三方软件把你的jar包,资源,jre一起打包进exe!