【问题标题】:Creating an executable jar that opens command创建一个打开命令的可执行jar
【发布时间】:2012-10-19 07:35:05
【问题描述】:

我必须交一份作业,上面写着:

'如果你已经正确地创建了一个可执行的jar,那么你将能够在Windows中双击它来运行你的程序。请确保您在发送前对此进行测试。'

我的程序没有用户界面并在命令中运行。当我双击 .jar 时没有任何反应,我该怎么办?

【问题讨论】:

  • 在清单文件中指定主类。谷歌,因为我现在很懒。
  • 在没有 GUI 的情况下需要可运行的 Jar 是不常见的。原因之一是如果用户双击 Jar,他们将没有机会提供更多输入或查看输出。

标签: java executable-jar


【解决方案1】:

即使您的程序是基于命令行的,它也会启动一个控制台/终端窗口来执行程序。如果您的程序没有提示输入,那么它可能会打开和退出太快,以至于您没有注意到屏幕上的控制台窗口闪烁。

尝试通过以下方式打开命令提示符并手动运行 java:

java -jar <your jar>

如果这不起作用,那么您没有一个带有 MANIFEST.MF 的可执行 jar,它指定了 Main-Class

【讨论】:

  • java -jar 确实有效,但当我双击时仍然没有
  • 您的程序是否在执行过程中提示用户输入?我提到过,如果您的程序执行得太快,您可能会出现“什么都没有发生”的现象。
  • 如果您想暂停 5 秒以查看控制台窗口,可以尝试添加“Thread.sleep(5000)”。
  • 是的,它要求输入整数
  • .jar 的默认程序是否设置为Java VM?在我的盒子上,我将 jar 文件与 winzip 相关联,因为我通常想查看内容而不是运行 jar。
【解决方案2】:

Start -&gt; Accessories -&gt; Console

在您的控制台上

java -jar "C:\your-directory\for\your\java-jar-\application.jar"

编辑

试试这个:

将open with program改为c:\Program files\java\jre7\bin\javaw.exe

摘自这个问题:Make an executeble JAR run in a console when double clicked

【讨论】:

  • 这确实会运行它,但我需要它,以便我发送它的任何人都可以双击它并在命令中打开它
猜你喜欢
  • 2020-04-17
  • 2012-07-02
  • 2017-03-20
  • 1970-01-01
  • 2011-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-13
相关资源
最近更新 更多