双击.jar文件以在命令行中启动它

时间:2013-05-10 14:50:56

标签: java user-interface command-line jar

我正在尝试使我的命令行实用程序之一更加用户友好。我的大多数同事都不介意将该实用程序用作CLI,但导航到它有点痛苦(对他们而言)。我宁愿不去每台计算机并在他们的CLI中设置一个快捷方式,所以:

有没有办法让.jar文件在命令提示符中启动一个命令行实用程序(最好是PowerShell?)我尝试搜索Google和Stack Overflow但是我很难取得进展......任何方向都会很多赞赏。

我以某种方式想象这使用Desktop,但我不确定它是如何工作的。

3 个答案:

答案 0 :(得分:8)

也许你需要制作一个基于摇摆的控制台来重定向输出和输入。以下是我在简单的网络搜索中找到的链接。 (我之前从未使用过这些)

这是一个开源项目Swing-Console

<强> 编辑:

另一种选择。如果您使用run-me.bat文件分发应用程序会怎样?

@echo off
java -jar my-console-app.jar

您也可以更改标题。

答案 1 :(得分:0)

您应该使用java.exe而不是javaw.exe重新关联jar文件。 javaw是Java的非CLI版本,但是使用java.exe启动它应该可以解决问题。

这是如何做到的(如果您拥有管理权限):

assoc .jar=jarfileterm
ftype jarfileterm="PATH\TO\JRE\bin\java.exe" -jar "%1" %*

当然,用正确的路径替换PATH \ TO \ JRE。 执行此操作后,双击.jar文件应打开CLI。

答案 2 :(得分:0)

您至少有两个选择。

制作一个可执行的jar文件。

Windows上的示例如下所示:

mkdir temp
cd temp

for %f in (..\dist\lib\*.jar) do @jar xf %f

jar xf ..\dist\YourJar.jar 

jar cfe YourJar.jar com.something.Main *.*

您可以在此处详细了解jar存档工具:http://docs.oracle.com/javase/1.4.2/docs/tooldocs/windows/jar.html

使用Maven可以轻松实现这一目标。请在此处查看Maven阴影插件:https://maven.apache.org/plugins/maven-shade-plugin/

制作Java Web Start应用程序

有关概述,请查看以下内容: http://docs.oracle.com/javase/tutorial/deployment/webstart/

有关分步指南,请查看以下内容:http://docs.oracle.com/javase/7/docs/technotes/guides/javaws/developersguide/contents.html