我正在尝试使我的命令行实用程序之一更加用户友好。我的大多数同事都不介意将该实用程序用作CLI,但导航到它有点痛苦(对他们而言)。我宁愿不去每台计算机并在他们的CLI中设置一个快捷方式,所以:
有没有办法让.jar文件在命令提示符中启动一个命令行实用程序(最好是PowerShell?)我尝试搜索Google和Stack Overflow但是我很难取得进展......任何方向都会很多赞赏。
我以某种方式想象这使用Desktop
,但我不确定它是如何工作的。
答案 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