我有一个jar文件形式的应用程序,大小约为2MB.出于几个原因,我必须将JRE与我的应用程序捆绑在一起.当我使用jar和JRE创建MSI时,MSI大小约为30MB.
我正在寻找一个商业或免费的JRE,我可以捆绑,以便我可以将我的MSI的大小减小到尽可能低.我总共看5MB,但即使高达10MB也可以.预建的JRE二进制文件很棒,但不是绝对必须的.
这些和其他线程中的很多答案都表明Excelsior.我下载了Excelsior JET的评估版并试了一下 - 由于一些原因,我认为它可能不适合我.
1)Excelsior着眼于减少已安装产品的占地面积,而不是安装程序.我不太关心已安装产品的大小 - 我主要关注较小的下载(我的产品安装程序目前为30MB).
2)除此之外,Excelsior对代码进行了大量优化以实现这一点 - 我根本不想触及我的jar文件.我希望我的罐子里有一个较小的JRE.也没有办法关闭一些优化措施.
3)Excelsior创建一个EXE - 我不是特别想要这个 - 我可以通过javaw.exe命令行调用我的产品.
那么对我的需求有什么建议吗?
我一直在将JRE与我的应用程序捆绑在一起,只需将文件复制$JAVA_HOME/jre到我的应用程序的发行版即可.这可能违背了Java的精神,但它通过确保我的应用程序在经过测试的JRE版本上运行来减少潜在问题(包括比特;我使用一些JNI,它要求JRE是32位版本).
它工作正常,但整个发行版有点大,所以可能会遗漏一些不必要的文件?确实,$JAVA_HOME/jre/README.txt包含以下建议:
组成Java SE运行时环境的文件分为两类:必需和可选.可供供应商自行决定从Java SE运行时环境的重新分发中排除可选文件.
以下部分包含可以选择从Java SE运行时环境的重新分发中省略的文件和目录的列表.不在这些可选文件列表中的所有文件都必须包含在运行时环境的重新分发中.
...当使用自定义启动器将Microsoft Windows上的JRE重新分发为私有应用程序运行时(其他应用程序无法访问)时,以下文件也是可选的.这些是用于Internet Explorer和Mozilla系列浏览器中的Java支持的库和可执行文件; 私有JRE重新分发中不需要这些文件.
让我感到困惑的是,可选文件列表包括:
bin\java.exe
bin\javaw.exe
bin\javaws.exe
Run Code Online (Sandbox Code Playgroud)
怎么java/javaw.exe可选?如果没有它们我应该如何启动Java应用程序?显然我不知道某些事情(可能),或者指示是完全错误的.
我用Eclipse开发了一个Java应用程序.我也以.jar格式导出.它运作良好,但有一些问题;
所以最后,我想将.jar文件转换为其他操作系统的本机格式,例如.exe,.app并.deb使用特定的图标.我怎样才能做到这一点 ?
我必须在CD上刻录Java应用程序.此应用程序必须在每台Windows PC上运行,无需任何安装(也不应安装JRE).
我需要构建一个执行以下操作的安装程序:
知道如何去做吗?
java installer software-distribution cross-platform autostart
我编写了一个程序,要求将JRE与它捆绑在一起.通过与捆绑的JRE命令行启动程序的工作原理,但我的用户不用怎么做这样的事情一无所知,所以我需要包括的计划,将在Windows,Mac和Linux工作的启动.我怎样才能做到这一点?理想情况下,我想使用Visual Basic等语言编写一个可以编译三个可执行文件的启动程序:一个用于Windows,一个用于Mac,一个用于Linux.
我制作了一个可执行的 jar 文件,但我想将其分发给可能没有在计算机(Mac 或 PC)上安装 Java 的用户。作为程序员,我能做些什么来确保没有 Java 的人也能运行吗?
我创建了一个java apllication.我为我的应用程序创建了Excecutable jar和Exe文件.但它不能在没有安装计算机的系统上运行.怎么做?是否有可能在EXEcutable jar或Exe文件本身中配置JRE?任何的想法?
我想分发Windows的Java应用程序.它只是Windows,因为它使用了Java内置的几个Windows特有的功能.我希望他们能够使用它,无论他们是否安装了JRE.所以基本上,这需要一个独立的可执行文件,不需要安装,只需运行并传递一个jar参数或类似的东西.
这样的事情存在吗?
我不认为这是这个问题的重复,因为我不打算制作单个可执行文件,也不是非自由解决方案的选项.大多数选项都不是免费的,其余的都没有用.(例如,IKVM,.NET JVM,无法运行jar我正在使用的)但如果是,请关闭问题.
java ×9
deployment ×2
eclipse ×2
autostart ×1
exe ×1
installation ×1
installer ×1
jar ×1
jvm ×1
windows ×1