1

私は grails アプリを Java 6 から Java 7 に移行する作業を行っています。これを行うには、Java 6 でのコンパイルを続行し、ランタイム環境を Java 7 に変更する予定です。これは環境を通じて移行されます。それが完了すると、ビルド サーバーが Java 7 にアップグレードされ、Java 7 でのコンパイルが開始されます。

私が抱えている問題は、Incompatible Class Change Errorなどの問題に取り組むために、ローカル マシンに環境をレプリケートすることです。Java 6 JDK を指すようにビルド パスを設定し、Preferences -> Java -> Compiler を 1.6 準拠に変更し、Preferences -> Java -> Installed JREs を Java 6 JDK を使用するように変更しました。

電話System.getProperty("java.class.version")すると、クラス ファイルが Java 6 でコンパイルされたことを示す 50.0 を受け取るはずですが、Java 7 でコンパイルされていることを示す 51.0 を受け取ります。

他に何を変更する必要がありますか?

4

2 に答える 2

1

プロジェクトを右クリック -> [プロパティ] -> [Java コンパイラ] を選択し、[プロジェクト固有の設定を有効にする] のチェックを外します。

これが機能しない場合は、[your grails workspace path]/.metadata.plugins\org.eclipse.debug.core.launches に移動し、Java パスを含むファイルを編集して正しいパスを見つけます。

于 2013-09-05T13:18:57.203 に答える
0

STS の Grails のclasspaths クラスパス コンテナーに関する無関係なエラーから ヒントを得て、.ivy2 フォルダーと .grails フォルダーを削除しました。どういうわけか、以前にコンパイルされたファイルは、クリーニングしても古くなりました。問題を引き起こした可能性が非常に高い同じ .ivy2 および .grails フォルダーを使用している可能性のある同じプロジェクト (異なるブランチ) に複数のワークスペースがあります。

于 2013-09-03T18:16:52.173 に答える