EclipseでJava 11(またはJava 10)で開いたレガシーJava(8)プロジェクトがあります。Eclipseはアクセスできないパッケージについて正しく文句を言うようになりました。例:com.Apple.laf.AquaComboBoxUI
。
コマンドラインからコンパイルする場合、javac
にパラメーターを追加することで、これらのパッケージに明示的にアクセスできるようにすることができます。
--add-exports Java.desktop/com.Apple.laf=ALL-UNNAMED
Eclipse IDE内から同じことを行う方法はありますか? JDKライブラリにアクセシブルなルールを追加しようとしました。しかし、それは効果がないようです。何か案は?
はい、私は知っています、公式APIのみを使用するようにプロジェクトを移行する必要があります。しかし、それは長い道のりです...
解決策を見つけたので、私は自分の質問に答えています。
問題の重大度を設定する必要があります。これはforbidden reference (access rules)
の下にJava Compiler -> Errors/Warnings
。
前述のように ここ コマンドラインでjavacを使用して渡されたパラメーターを、次の手順でEclipseに追加できます。
Run->Run Configurations
をクリックします。
Main tab
Browse the project
および引数を渡したいMain class
の下に表示されたウィンドウ。
Arguments
タブをクリックします。Program arguments:
というラベルの付いたテキストボックスに、${string_Prompt}
と入力しますApply and Close
をクリックします。これで、Javaアプリケーションを実行すると、プロンプトが表示されます。ここで、スペースで区切ってすべての引数を追加できます。