前提・実現したいこと
Eclipseでjavaの勉強をしています。
workspaceを新しく作った後、新規プロジェクトからjavafxプロジェクトを作成し、Windowだけを表示するようなプログラムを実行したところ、質問のようなエラーが起きました。
古いworkspaceではこのようなことが起きなかったので、workspaceを作り替えたのが原因なのかなと予想しているのですが、なぜエラーが起きたのか、解決策を教えていただけると助かります。
発生している問題・エラーメッセージ
エラー: メイン・クラスapplication.Mainを検出およびロードできませんでした 原因: java.lang.NoClassDefFoundError: javafx/application/Application
該当のソースコード
Main
1package application; 2 3import javafx.application.Application; 4import javafx.stage.Stage; 5import javafx.scene.Scene; 6import javafx.scene.layout.BorderPane; 7 8 9public class Main extends Application { 10 @Override 11 public void start(Stage primaryStage) { 12 try { 13 BorderPane root = new BorderPane(); 14 Scene scene = new Scene(root,400,400); 15 scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm()); 16 primaryStage.setScene(scene); 17 primaryStage.show(); 18 } catch(Exception e) { 19 e.printStackTrace(); 20 } 21 } 22 23 public static void main(String[] args) { 24 launch(args); 25 } 26} 27
fxml
1<?xml version="1.0" encoding="UTF-8"?> 2 3<?import javafx.scene.layout.AnchorPane?> 4 5<AnchorPane xmlns:fx="http://javafx.com/fxml/1"> 6 <!-- TODO Add Nodes --> 7</AnchorPane>
試したこと
openjfxのファイルを再インストール
コマンドプロンプトでコンパイル
Javac
1C:\zip-of-java\pleiades-2020-12-java-win-64bit-jre_20201222\pleiades\workspace\javafx(practice)\src\application>javac Main.java 2Main.java:3: エラー: パッケージjavafx.applicationは存在しません 3import javafx.application.Application; 4 ^ 5Main.java:4: エラー: パッケージjavafx.stageは存在しません 6import javafx.stage.Stage; 7 ^ 8Main.java:5: エラー: パッケージjavafx.sceneは存在しません 9import javafx.scene.Scene; 10 ^ 11Main.java:6: エラー: パッケージjavafx.scene.layoutは存在しません 12import javafx.scene.layout.BorderPane; 13 ^ 14Main.java:9: エラー: シンボルを見つけられません 15public class Main extends Application { 16 ^ 17 シンボル: クラス Application 18Main.java:11: エラー: シンボルを見つけられません 19 public void start(Stage primaryStage) { 20 ^ 21 シンボル: クラス Stage 22 場所: クラス Main 23Main.java:10: エラー: メソッドはスーパータイプのメソッドをオーバーライドまたは実装しません 24 @Override 25 ^ 26Main.java:13: エラー: シンボルを見つけられません 27 BorderPane root = new BorderPane(); 28 ^ 29 シンボル: クラス BorderPane 30 場所: クラス Main 31Main.java:13: エラー: シンボルを見つけられません 32 BorderPane root = new BorderPane(); 33 ^ 34 シンボル: クラス BorderPane 35 場所: クラス Main 36Main.java:14: エラー: シンボルを見つけられません 37 Scene scene = new Scene(root,400,400); 38 ^ 39 シンボル: クラス Scene 40 場所: クラス Main 41Main.java:14: エラー: シンボルを見つけられません 42 Scene scene = new Scene(root,400,400); 43 ^ 44 シンボル: クラス Scene 45 場所: クラス Main 46Main.java:15: エラー: シンボルを見つけられません 47 scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm()); 48 ^ 49 シンボル: メソッド getClass() 50 場所: クラス Main 51Main.java:24: エラー: シンボルを見つけられません 52 launch(args); 53 ^ 54 シンボル: メソッド launch(String[]) 55 場所: クラス Main 56エラー13個 57
補足情報(FW/ツールのバージョンなど)
jdk-11.0.10
JavaFX 11
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/29 12:18
2021/03/29 12:19