我正在尝试将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>
我尝试将.class文件添加到.jar文件的同一目录中。但没有运气。
答案 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