Java错误:无法在Raspberry上找到或加载主类

时间:2017-11-23 20:05:12

标签: java intellij-idea javafx

我正在尝试将Raspberry Pi与Raspian(Jessie)一起学习JavaFX。 现在我在IntelliJ IDE中使用JavaFX的基本示例进行编码。 我的Windows 10 PC正在使用最新的SDK。 8.0 JDK。 Raspian正在使用8.0

当我在Windows PC上编译软件时,我得到一个.jar文件。我确保 Artifacts 是正确的,并链接到包的主类。我期待的问题是当我在Raspberry上运行.jar时,我收到以下错误:

Error: Could not find or load Main class sample.Main

我正在执行的命令:

java -jar care.jar

我确保正确安装了JDK。 Java包应该适合Linux编译。

我正在使用的代码是IntelliJ的标准示例。 的 sample.Main

 package sample;

        import javafx.application.Application;
        import javafx.fxml.FXMLLoader;
        import javafx.scene.Parent;
        import javafx.scene.Scene;
        import javafx.stage.Stage;

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception{
        Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
        primaryStage.setTitle("Hello World");
        primaryStage.setScene(new Scene(root, 300, 275));
        primaryStage.show();
    }


    public static void main(String[] args) {
        launch(args);
    }
}

sample.fxml

<?import javafx.geometry.Insets?>
<?import javafx.scene.layout.GridPane?>

<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<GridPane fx:controller="sample.Controller"
          xmlns:fx="http://javafx.com/fxml" alignment="center" hgap="10" vgap="10">
</GridPane>

Artifacts settings

Structure tree + IDE overview

我尝试将.class文件添加到.jar文件的同一目录中。但没有运气。

1 个答案:

答案 0 :(得分:0)

错误消息显示您的java -jar命令尝试在main包中找到名为sample的类。但是你的班级名为Main

主要类属性的清单文件中可能存在错误的条目,其中 main 拼写为小写'm'而不是 Main ,其中大写为'M ”。

编辑/更新:

jar文件很好,我想这是Raspberry Pi上Java安装的一个问题。

这里有一些关于这个问题的链接:

Can JavaFX be used on Raspberry Pi

How can i get JavaFX working on raspberry pi 3

https://www.experts-exchange.com/questions/29008944/Running-JavaFX-on-the-Raspberry-Pi.html