制作了一个可执行 .jar ,可以在 Windows 上运行,但 Ubuntu 无法运行它?

制作了一个可执行 .jar ,可以在 Windows 上运行,但 Ubuntu 无法运行它?

我使用 Eclipse 中的 SWT 库制作了以下小文件:

//all the imports
public class classtest {
    public static void main(String[] args) {

        Display display = new Display();
        Shell shell = new Shell(display);
        shell.setSize(300, 200);
        shell.setText("Button Example");
        //shell.setLayout(new RowLayout());

        Button button = new Button(shell, SWT.PUSH);


        button.setLocation(20,20);
        button.setSize(new Point(70,30));        //new point seems to be optional?
        button.setText("Buttontje ");     

        shell.open ();


        while (!shell.isDisposed()) {
            if (!display.readAndDispatch())
            display.sleep();
        }
        display.dispose();
    }
}

我用它制作的 .jar 在 Windows 上运行起来非常顺畅。

现在我使用以下命令在 Ubuntu 上安装 Java(来自http://www.ubuntugeek.com/how-to-install-oracle-java-7-in-ubuntu-12-04.html):

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer

Java 似乎安装得很好。我运行了文件,但什么也没发生。但我的另一个程序(只使用 JButtons 而没有使用 SWT 库)确实运行了。

我需要在目标平台上安装 SWT 库才能使其工作吗?但我该如何安装它呢?我以为 SWT 库会包含在 .jar 中,这样只要安装了 java,它就可以在每个平台上运行 SWT 布局。

答案1

您需要像这样调用它:

java -jar yourfilehere

答案2

确定,右键单击 .jar 并单击属性,然后单击权限并单击允许作为程序执行文件

答案3

在 Linux Ubuntu 中执行 .jar 文件与在 Windows 中稍有不同,在这里,您只需双击文件,它就会使用存档打开它,因此请尝试使用 Java 打开它。如果这不能解决您的问题,那么请确保您已正确安装了 Java-

java -version
javac
javaws

如果没有错误,请转到下一部分,否则完全删除后再次安装

要使 Java 默认执行,请右键单击任何 .jar 文件并选择属性。单击“打开方式”选项卡。选择 Sun“Oracle 7 Runtime”。然后单击“关闭”以保存设置。

答案4

我也遇到了同样的问题。

这个答案晚了 4 年,但我建议在你的 .jar 文件所在的目录中打开一个终端,然后执行以下操作:

java -jar "jarfilehere.jar"

在终端中执行此操作,您很可能会收到有关它无法运行的错误。

(就我而言,JFX 类不存在)

相关内容