我有一个用Java开发的开箱即用的软件工具。该软件需要相当大的内存,因此必须使用-Xmx1024M Java选项运行,否则会崩溃。客户将运行一个名为start.jar的程序,该程序的唯一命令是运行系统命令"java -Xmx1024M -jar myProgram.jar“。
这适用于Windows XP和Vista,但是Windows 7的最新Java更新没有将java/bin目录放在系统路径中。这会导致命令行报告java不是可识别的命令。
我的问题是如何最好地解决这个问题?我意识到我可以告诉客户如何将他们的java/bin目录放在系统路径中,但是我认为这要求太多了(目标客户在技术上并不熟练)。
发布于 2010-02-18 07:57:53
您可以使用像JSmooth或Launch4J这样的Java Executable包装器。
发布于 2010-02-18 07:36:14
给他们一个批处理文件来运行怎么样?这可能会将Java放到系统路径中,然后使用-Xmx1024M arg启动java
发布于 2010-02-18 13:46:21
除了使用前面提到的使用可执行包装器的建议之外,我认为没有任何好的解决方案不涉及将包装器中已有的逻辑重写到启动脚本中。这往往包括搜索系统路径、注册表( JREs \Software\JavaSoft\JavaSoft)以查找“正确安装的”版本,以及JRE的“公共位置”,并根据您告诉包装器的配置是最低JRE值、是否选择最新版本等来选择合适的位置。重写此逻辑似乎不是很好地利用时间,但这取决于您:)
另一种选择(取决于许可问题)是在子目录中将JRE的副本与应用程序一起分发,这样您就可以始终知道它的位置和使用的版本。显然,这有点浪费,而且可能意味着在正常的桌面维护/升级周期之外使用软件,但它可能会给您更多的控制/便利。
https://stackoverflow.com/questions/2285227
复制相似问题