在没有java -jar的情况下运行JAR unix&视窗?

时间:2012-06-09 16:07:19

标签: java windows unix command-line jar

我想在 unix和windows 中运行一个jar文件,而不必直接用java调用它:

java -jar myjar.jar parameters

我想:

myjar.jar parameters

我一直在阅读 -

Running a JAR file without directly calling `java`

对于unix来说,这似乎是一个非常好的黑客。

Howerver,这在Windows中不起作用。

我正在寻找一个可以在unix和windows上运行的统一解决方案,但我不确定是否有这样的解决方案。

解决方案必须只有一次,它必须包含与jar相关的更改,而不是操作系统 - 因为这是我向客户提供的文件。

3 个答案:

答案 0 :(得分:1)

您要求的无法做到:Windows将仅以.exe文件中的.exe中使用的PE/COFF格式加载可执行文件。

您可以做的是为用户提供启动实际Java程序的“包装器”程序。您可以在C中创建包装器,它有几个好处:您可以在可执行文件上设置图标,并将程序与Windows资源管理器中的文件类型相关联。 Batch files是一种受欢迎的选择;它们更容易创造。

答案 1 :(得分:0)

您可以提供启动Unix(.sh)和Windows(.bat)应用程序的脚本。这似乎是许多公司的首选方法。一个例子是JBoss Server,其中为Windows提供run.bat,为Unix提供run.sh.这些脚本设置适当的环境变量,类路径等,然后调用java。

答案 2 :(得分:0)

您可以编写自己的bash和batch / powershell脚本。至于Windows,您可以尝试Launch4J。它应该比从头开始编写复杂的脚本更容易。

请注意,您只能提供包装以使执行更简单(单击一下)。无论如何都必须运行Java。显式地,由用户显示,或作为脚本的一部分。你不能没有它。