我无法通过双击执行.jar文件。

3

我已经尝试了很多次去执行这个愚蠢的.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 文件已创建 ==> 证明 Test.jar 已创建

但是,当我双击执行它时,会出现 这个

我该如何解决?它是否仅需要一个 GUI 或者我做错了什么?

****PS****

我对编程比较新手,只是好奇如何创建可执行的 jar 文件。因此,请以简单易懂的方式提供任何指示/批评,我会尽力回复。另外,我希望能够双击文件来执行,而不是在终端中输入命令(我已经知道如何从终端运行)。谢谢任何帮助!


1
请参考http://stackoverflow.com/questions/5224831/how-to-change-file-associations-in-mac-os-x。在您的情况下,您将选择使用“java -jar”打开它。 - Miserable Variable
你需要GUI。尝试这个链接--http://www.mkyong.com/java/how-to-make-an-executable-jar-file/ - Balwinder Singh
2个回答

1
你说得很对--你需要一个图形用户界面(GUI)。尝试用JOptionPane.showMessageDialog(null, "Mitch says...", "Hello world!", JOptionPane.PLAIN_MESSAGE);替换你的System.out.println,并在其他导入语句中添加import javax.swing.JOptionPane;。保留html标签。

你的回答有误导性。OT问的是为什么他的jar文件在OSX上无法执行。它是基于GUI还是控制台应用程序完全不相关。 - Jan Dörrenhaus
这个可行!但是你需要添加 import javax.swing.*; 才能让它工作 :) - Mitch Howe
@JanDoerrenhaus,OP似乎不同意你的观点。 - hd1

0

你的程序没有包含GUI框架,因此无法打开。请尝试使用JavaFX或Swing。我推荐使用JavaFX,因为他们有一个新的SceneBuilder应用程序,可以使构建基于GUI的应用程序变得非常容易学习。


你的回答有误导性。OT问的是为什么他的jar文件在OSX上无法执行。它是基于GUI还是控制台应用程序完全不相关。 - Jan Dörrenhaus
1
我需要GUI吗?我认为问题很清楚。 - David Paquette

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