2

こんにちは、すべての仕事用ラップトップがクラッシュし、プログラムを貸与機にインストールする必要がありました。

私は走っています

・エクリプス・ジュノ

*JRE7

*jdk1.7.0_10

アプリをコンパイルしようとすると..

警告: [オプション] ブートストラップ クラス パスが -source 1.6 と組み合わせて設定されていません

4

1 に答える 1

2

この警告の原因となる古いソースの使用に関するオラクルのブログからコピー

JDK N から古いプラットフォーム バージョンへのクロスコンパイラに javac を使用する正しい方法は次のとおりです。

古い -source 設定を使用します。

古いプラットフォームの rt.jar (または同等のもの) に対してコンパイルするように bootclasspath を設定します。

2 番目の手順を実行しない場合、javac は古い言語規則を新しいライブラリと組み合わせて忠実に使用します。これにより、存在しないメソッドへの参照が含まれる可能性があるため、古いプラットフォームでは機能しないクラス ファイルが作成される可能性があります。

Jon Gibbons のおかげで、JDK 7 ビルド 121 以降では、javac がこの疑わしい状況を検出して警告します。例えば:

$ javac -source 6 HelloWorld.java

警告: [オプション] ブートストラップ クラス パスが -source 1.6 と組み合わせて設定されていません

警告に対処する 1 つの方法は、bootclasspath を設定することです。それが不適切な場合は、-Xlint ファミリ内の新しいサブオプションである -Xlint:-options を使用して警告を無効にすることができます。

この変更により、微妙なビルド エラーを引き起こす可能性のある javac へのオプションの組み合わせで問題が発生する可能性があり、コンパイラによって診断され、直接対処するか、新しい -Xlint サブオプションを使用してビルド プロセスの一部として簡単に文書化できます。

于 2013-01-02T16:08:50.440 に答える