3

バージョン 1.7 の Java で正常に動作する code.jar がありますが、バージョン 1.6 の Linux で別のコンピューターを使用するとエラーが発生します。どうすればバージョン 1.6 で実行できますか?

4

5 に答える 5

3

を呼び出すときに、クロスコンパイル オプションを使用しますjavac

オプションのみが-target他のほとんどの返信で推奨されているように指定されている場合、1.7 SDK は に関する警告を発行します-bootclasspath。このオプションにはrt.jar、ターゲット JRE バージョンが必要です ( JDK ではないことに注意してください)。これにより、コンパイラは、コア Java SE を参照するコードのクラス、メソッド、および属性が実際に .xml に存在することを確認できますrt.jar。これは、互換性を確保するために非常に重要です。

于 2012-08-22T23:58:55.553 に答える
1

コードが古いJava互換性フラグでコンパイルされていない場合、1.6で実行することはできません。

于 2012-08-22T20:45:20.303 に答える
1

Eclipse で Java 6 を使用してプロジェクトをビルドします。Java 1.6 JRE をダウンロードする必要があります。次に、Eclipse が 1.6 JRE を指すようにします。http://www.cleartoolkit.com/dokuwiki/doku.php?id=clearwiki:20 を参照してください。 cleardatabuilder:01.setup:01.prerequisites

プロジェクトを右クリック -> [プロパティ]、[Java コンパイラ] の順にクリックし、[プロジェクト固有の設定を有効にする] のチェックを外し、[ワークスペース設定の構成] をクリックして、コンパイラの準拠レベルとして 1.6 を選択します。

プロジェクトを再度エクスポートする「こと」を実行すると、新しいjarが機能するはずです。

お役に立てれば。

于 2012-08-22T23:11:14.527 に答える
0

低いバージョンで高いバージョンのクラスを実行することはできないと思います。

別のアプローチは、設定されたターゲットバージョンを1.6としてコンパイルする場合です。

例:

javac yourFile.java -target 1.6
于 2012-08-22T20:44:45.893 に答える
0

私はEclipse内で解決策を見つけました!

プロジェクトに移動し、右クリックしてプロパティにアクセスすると、Java Compiler というタブがあります。プロジェクト固有のプロパティを有効にして、JDK 準拠のチェック ボックスをオフにすると、ソースの互換性と .class ファイルの互換性を 1.6 に変更できます。

これで問題が解決し、生成された .jar ファイルが両方のデバイスで動作するはずです。ファイルを 1.8 から 1.7 に移動し、OpenJDK 1.7 を搭載した Raspberry Pi でテストして、これをテストしました。これが役立つことを願っています。

于 2016-04-09T14:42:25.063 に答える