3

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

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

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

4

3 回答 3

8

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

还有一个位于Swing-Console的开源项目。

编辑:

另外的选择。如果您使用run-me.bat文件分发应用程序怎么办?

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

您也可以更改标题。

于 2013-05-10T15:17:11.337 回答
0

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

这是如何做到这一点(假设你有管理权限):

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

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

于 2013-05-10T14:55:51.350 回答
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

于 2013-05-10T15:03:07.987 回答