4

我有这个 java 程序,我想打包在一个 jar 中。它编译得很好,它编译成一个 jar 没有错误。但是当我双击它时,它不会启动。我知道大多数 jar 应用程序都使用 JFrame 并且效果很好。但是是否可以使其基于命令提示符/shell?(比如显示 System.out.println)

示例是否可以通过双击 jar 来执行此代码:

public class Hello
{

  public static void main( String[] args )
  {
    System.out.println( "Hello, World!" );
  }
}
4

7 回答 7

10

这样做没有问题。但是您希望在哪里看到输出?

如果您从控制台执行,java -jar my jar.jar您将看到您的“Hello, World”。

如果要双击,则需要创建一个 JFrame。

于 2012-04-29T16:11:43.777 回答
5

您可以更改 jar 文件的文件关联以让它们打开控制台。(这适用于 Windows)

  • 打开命令处理器
  • 类型ftype jarfile
  • 你会得到类似的东西:

jarfile="C:\Path\To\Java\bin\javaw.exe" -jar "%1 %*"

  • 输入ftype jarfile "C:\Path\To\Java\bin\java.exe" -jar "%1" %*(您可能需要管理员权限才能执行此操作)。
于 2012-04-29T16:17:33.647 回答
2

我没有看到任何人提到明显的解决方案:制作一个 .cmd(或 .bat)文件,其中包含每个人都在谈论的命令 -- java -jar YourJar.jar。您可以双击 .cmd 文件,将打开一个控制台窗口。它也会在您的程序退出时立即关闭,因此程序应该在退出之前等待按键。

于 2012-04-29T17:24:22.690 回答
0

您可以通过包含一个清单文件来使 jar 成为可执行文件,该文件包含具有您的主要方法的类的名称(在您的示例中为 Hello)。是一个详细说明您需要做什么的链接。

于 2012-04-29T16:11:33.120 回答
0

当然。首先尝试运行您的程序,如下所示:

java -cp yourjar.jar Main

其中 Main 是主类的完全限定类名。

当这工作正常并且如果您创建了可执行的jar 尝试运行您的程序,如下所示:

java -jar yourjar.jar

当这个工作正常时,双击也应该工作,除非您将扩展映射jar到程序,而不是javaw在安装 JRE 时默认完成。

于 2012-04-29T16:12:10.577 回答
0

如果要显示“Hello, world!” 您必须从命令行执行代码的字符串:

   jar -jar your_jar_name.jar
于 2012-04-29T16:12:14.160 回答
0

输出被转发到控制台,但没有 Eclipse,就没有!解决此问题的唯一方法是在命令提示符下启动程序,然后您将获得程序的输出。

于 2013-08-17T11:05:00.320 回答