5

Oracle JDK 8u144を搭載したUbuntu 17.04でEclipse Oxygen 4.7.0を使用しています。

javafx.*パッケージ内のJavaFX クラスを参照するコードjavafx.application.Applicationは、(誤って) エラーとして報告されます。

Access restriction: The type 'ScrollPane' is not API (restriction on required library '/opt/jdk1.8.0_144/jre/lib/ext/jfxrt.jar')

これは、「Java System Library」JavaSE-1.8 に関連しているようです。には、 [jfxrt.jarプロパティ] -> [Java ビルド パス] で表示できる「アクセス ルール」があります。これらは、 javax/ 、 java/、 org.w3c.* などのみを許可しjfxrt.jarます。

この問題は 2 つの異なる方法で回避できます

  • 環境設定の変更 -> Java -> コンパイラ -> エラーと警告 -> 非推奨および制限付き API -> 禁止された参照 (アクセス ルール) がエラーにならないようにします。
  • [プロパティ] -> [Java ビルド パス] -> [JRE システム ライブラリ] -> [編集] を介してシステム ライブラリを「JavaSE-1.8」から「ワークスペースのデフォルト JRE」に手動で変更する

調整するEclipseプロジェクトが多数あるため、これらの方法はどちらも理想的ではなく、本物のエラーをキャッチするために禁止された参照チェックを有効のままにしておくことをお勧めします。

これは、Eclipse に含まれる標準の Gradle Import プラグインを介してプロジェクトをインポートする場合にも問題になることに注意してください。

おそらく Gradle 構成を介して、この問題を回避する方法はありますか、または修正される既知のバグ/機能はありますか?

4

1 に答える 1