如何配置install4j以运行包含其他jar文件的java可执行jar文件?

时间:2017-02-15 21:19:31

标签: java install4j onejar

我有一个java可执行jar文件,其中嵌入了许多其他jar文件。它使用simon tuffs onejar来完成此任务。当我双击它时,jar正确运行,或发出' java -jar myApp.jar'从命令提示符。 jar文件有一个manifest.mf,其中包含:

Manifest-Version: 1.0
Main-Class: com.simontuffs.onejar.Boot
One-Jar-Expand: expand,doc

Install4j正确地将此jar文件复制到我的bin文件夹,但是' myApp.exe'它创建无法启动。我明白了:

java.lang.ClassNotFoundException:com.ndi.foreCee.programs.MyApp

或:

java.lang.ClassNotFoundException:com.simontuffs.onejar.Boot

取决于我插入install4j的配置Java调用页面' Main class'。我设置了类路径:'到'存档bin \ myApp.jar'。

任何人都可以告诉如何使用嵌入式jre来配置install4j来构建一个只发出java -jar myApp.jar&#39的exe?

3 个答案:

答案 0 :(得分:2)

添加"运行可执行文件或批处理文件"行动到"安装屏幕"并设置以下属性:

"可执行" property:$ {installer:sys.javaHome} / bin / java

"参数"财产:-jar; filename.jar(在编辑器中每行一个参数)

Install4j : How to execute command line java -jar filename.jar at the end of installation

答案 1 :(得分:0)

  

任何人都可以告诉如何使用嵌入式jre配置install4j来构建一个只发出'java -jar myApp.jar'的exe?

install4j生成的启动程序根本不执行java,它使用JNI创建JVM。

您可以使用参数/create-i4j-log从命令行启动可执行文件,以获取显示传递给JVM的参数的日志文件。

答案 2 :(得分:0)

我通过更新我的ant构建并删除simon tuffs one-jar并将其替换为:我解决了我的问题:   如Including external jar-files in a new jar-file build with Ant 中所述。之后,Install4J启动器就像宣传的那样(和M2E67描述的那样)。