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

3
我正在尝试让我的命令行实用程序更加用户友好。 我的大多数同事不介意使用CLI,但是导航到它有点麻烦(对他们来说)。 我不想去每台计算机并在其CLI中设置快捷方式,因此:
是否有一种方法可以使.jar文件启动命令行实用程序进入命令提示符(最好是PowerShell)? 我尝试在Google和Stack Overflow上搜索,但很难取得进展...任何方向都将不胜感激。
我不知道如何使用桌面来实现这一点。
3个回答

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

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

编辑:

另一个选择。如果您将应用程序与一个名为run-me.bat的文件一起分发呢?

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

您还可以更改标题。


这当然是一种选择,但我希望能够避免为了让CLI应用程序更易于使用而专门创建GUI界面。编写一个新的控制台来重新创建每个人都已经存在的控制台似乎是浪费时间。 - Jay Carr
1
@JayCarr 添加了另一个选项。也许你现在可以尝试一下。 - Sri Harsha Chilakapati
1
另一个不错的选择。不过,和我的同事们交流后,似乎我将会探索你上面列出的第一个选项。谁知道命令行界面竟然如此令人生畏呢?我想我们每天都在学习新东西 :)。 - Jay Carr

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。


1
我看到过这种方法,但我不敢这样做,因为它看起来意味着要去部门中的每台电脑上执行此操作。也许我对其实施方式有误解? - Jay Carr
2
你也可以只包含一个 .bat 文件,像这样运行 jar 文件:java -jar <jarfile>。这将打开一个命令行窗口并执行 jar 文件,将输出重定向到该“终端”。 - Anickyan

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 shade插件: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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接