【问题标题】:I can't execute a .jar file by double-clicking我无法通过双击执行 .jar 文件
【发布时间】:2016-02-19 13:09:03
【问题描述】:

我一遍又一遍地尝试让这个愚蠢的 .jar 文件执行,它只执行打印文本。我需要一个 GUI 吗?我在 Mac 上。

代码很简单……

public class test
{
    public static void main(String args[])
    {
        System.out.println("This is a test!");
        System.out.println("HelloWorld!");
    }
}

我编译了 test.java 文件,将 test.class 放入我的桌面,创建了一个 manifest.txt 文件以确保 jar 知道 test.class 是主文件。我写了

Main-Class: test

进入 manifest.txt 文件

然后我进入

[Macintosh:~] mitchellhowe% cd Desktop
[Macintosh:~/Desktop] mitchellhowe% jar -cvmf manifest.txt Test.jar test.class

终端回复

added manifest
adding: test.class(in = 341) (out= 186)(deflated 45%)

并且创建了 Test.jar 文件 ==> Proof of Test.jar creation

但是当我双击执行时,它给了我this

我该如何解决这个问题?它只是需要一个 GUI 还是我做错了什么?

****PS****

我对编程比较陌生,我只是对如何创建可执行的 jar 文件感到好奇。因此,请以简单的格式提出任何指示/批评,我会尽力回复。另外,我想要它,所以我可以双击要执行的文件,而不是在终端中订购一些东西(我已经知道如何从终端运行)。感谢您的帮助!

【问题讨论】:

标签: java macos jar terminal executable-jar


【解决方案1】:

你一针见血——你需要一个 GUI。尝试将您的 System.out.println 替换为 JOptionPane.showMessageDialog(null, "Mitch says...", "Hello world!", JOptionPane.PLAIN_MESSAGE); 并添加 import javax.swing.JOptionPane; 以及其他导入。

【讨论】:

  • 您的回答具有误导性。 OT 在问为什么他的 jar 不能在 OSX 上执行。无论是基于 GUI 的应用程序还是基于控制台的应用程序都完全无关紧要。
  • 这成功了!但是,您需要添加 import javax.swing.*;为了让它工作:)
  • @JanDoerrenhaus OP 似乎不同意你的观点。
【解决方案2】:

您的程序不包含 GUI 框架,因此无法打开。查看 JavaFX 或 Swing。我推荐 JavaFX,因为他们有新的 SceneBuilder 应用程序,它使构建基于 GUI 的应用程序变得非常容易学习。

【讨论】:

  • 您的回答具有误导性。 OT 询问为什么他的 jar 不能在 OSX 上执行。无论是基于 GUI 的应用程序还是基于控制台的应用程序都完全无关紧要。
  • "我需要一个 GUI 吗?"我认为这个问题很清楚。
猜你喜欢
  • 2012-02-04
  • 2017-02-14
  • 2012-02-25
  • 1970-01-01
  • 2016-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-11
相关资源
最近更新 更多