您好我已经创建了一个java应用程序并创建了一个jar文件。然后我创建了一个批处理文件eg-> startup.bat
此文件的内容为java -jar MyApp.jar
现在,如果我双击批处理文件,那么我的java应用程序可以工作,因为jar文件和批处理文件都属于同一目录。现在我将批处理文件复制到桌面并运行,然后我的应用程序没有运行。
此外,我希望我的批处理文件自动设置类路径。
如何使用以上所有功能创建批处理文件
由于 Sunil Kumar Sahoo
答案 0 :(得分:3)
如果jar是可执行的JAR(它似乎来自你的例子),你应该能够双击JAR文件。如果这不起作用,您应该将java
可执行文件与用于打开具有.jar
扩展名的文件的程序相关联。请参阅工具>文件夹选项>来自资源管理器窗口的文件类型。
为了使程序“可分发”,通常将其打包(即JAR文件和启动脚本)在某些ZIP存档中,然后解压缩到用户PC上的文件夹中。您的启动脚本应提供JAR文件的相对路径。例如,如果您已将ZIP的内容组织到lib
和bin
文件夹中:
MyProject
+--- lib (contains jars)
+--- bin (contains .bat script)
在这种情况下,startup.bat
文件应该将Jar引用为:
%JAVA_HOME\bin\java -jar ..\lib\myapp.jar
这需要任何用户:
java
或JAVA_HOME
环境变量集答案 1 :(得分:0)
问题是批处理文件不知道jar在哪里,它相对于它自己的路径。您也可以将jar文件复制到桌面。
如果只需要桌面上的图标,请创建批处理文件的快捷方式而不是副本。
答案 2 :(得分:0)
我了解您希望将应用程序分发到多台计算机上?一个(非常)简单的解决方案是创建一个zip / tar /任何包含所有需要的jar(包括MyApp.jar)和启动脚本的存档。
在脚本中,您可以使用-cp选项将类路径设置为jar:
java -cp needed.jar:needed2.jar -jar MyApp.jar
如上所述,制作桌面快捷方式比复制脚本本身更好。
答案 3 :(得分:0)
如果您的应用程序非常复杂(大小超过1 + GByte),您可以使用jre进行分发。
答案 4 :(得分:0)
因为在这里复制有点长,我建议你看一下Squirrel SQL的作用。并且你将有一个非常好的交叉数据库工具作为额外奖励; - )
它们可以通过两种可能的方式启动工具:
所以我会选择第一个解决方案。