1

私の職場のコンピューターには、JDK 1.7 がインストールされた Windows 7 x64 があります。Netbeans でプロジェクトを作成しましたが、すべてうまくいきました。次に、JDK 1.6 を実行している Mac OS X 10.6 を実行している自宅のコンピューターにプロジェクトをコピーしました。サポートされていない major.minor バージョン .51 に関するエラー メッセージが表示され、ビルドが失敗します。グーグルと検索の結果、JDK バージョンの不一致が原因であると結論付けられました。Oracle は JDK 1.7 を Mac OS X 10.6 にインストールすることを許可していないため、私の Mac では JDK 1.6 を使い続けています。

1.7 のコードを取得して、JDK 1.6 を実行している Mac OS X 10.6 でビルドして実行する方法はありますか? または、コードを JDK 1.7 マシンに戻し、互換性を 1.6 にダウングレードする方法はありますか? 基本的に、職場のコンピューターと自宅のコンピューターで実行するコードが必要です。

4

3 に答える 3

3

新しい 1.7 の構文/ライブラリを使用していない限り、JDK 1.6 でクラスを構築するのに問題はないはずです。

1.7 コンパイラで 1.6 互換の .class を生成することもできます。

javac -source 1.6 -target 1.6 MyClass.java

Eclipse を使用している場合は、設定ダイアログでこれを設定できます。

したがって、答えは、両方の方法がうまくいく可能性があるということです。


編集:

私の答えを修正しました。

-ソースは 1.6 でなければなりません

指摘してくれた Stuart Marks に感謝します!

于 2012-08-15T04:18:03.157 に答える
3

NetBeans でプロジェクトのプロパティを開き、プラットフォームと言語レベルを 6 (または 1.6) に設定します。次に、クリーンアップしてビルドします。ただし、Java 7 の機能は使用できません。これは、Windows にインストールされている既存の Java 7 で実行できるはずです。Java 6 をインストールする必要はありません。

または、10.6 を実行している Mac に非公式の OpenJDK 7 ビルドをインストールすることもできます。ダウンロードについては、こちらをご覧ください。

http://code.google.com/p/openjdk-osx-build/

于 2012-08-15T04:25:05.500 に答える
2

これには、Windows ボックスに Java 1.6 がインストールされている必要があります。1.7 と 1.6 の間には構文の非互換性があります (また、いくつかの API の違いもあります)。

Netbeans で、プロジェクト ノードを右クリックし、[プロパティ] を選択します。プロパティ ダイアログから、ソースを選択します。ダイアログの下部に「ソース/バイナリ形式」が表示されます。ドロップダウンから「JDK 6」を選択します。

「ライブラリ」を選択します。ダイアログの上部に「Java Platform」が表示されます。ドロップダウンから「JDK 1.6」を選択する必要があります。

見つからない場合は、[プラットフォームの管理] をクリックします。[プラットフォームの追加] をクリックし、Java 6 をインストールした場所 (通常は C:\Program Files\Java) を参照して選択します。「完了」をクリックします。

これで見つけられるはずです

アップデート

「su-」によるコメントから、「ソース/バイナリ形式」オプションを1.6に変更するだけでうまくいくかもしれません

于 2012-08-15T04:20:13.617 に答える