我有一个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?
答案 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描述的那样)。