4

Spring Tool Suiteとm2eを使用して、既存のプロジェクトの一部をMavenプロジェクトに変換しています。問題のプロジェクトは、Eclipseで[jdk1.6]という名前のjdk1.6.0_20を使用しています。ただし、Maven-> Update projectを実行すると、そのjreが標準の[JavaSE-1.6]に置き換えられます。それらは同じライブラリを指しているように見えますが、名前を変更すると、次のような一連の例外が発生します。

アクセス制限:必要なライブラリC:\ Program Files \ Java \ jdk1.6.0_20 \ jre \ lib \ rt.jarの制限により、タイプWindowsPopupMenuSeparatorUIにアクセスできません。

私のpom.xmlにはこれがあります:

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.3.2</version>
    <configuration>
        <source>1.6</source>
        <target>1.6</target>
    </configuration>
</plugin>

Maven / m2eが.classpath内の特定のワークスペースJREに置き換える代わりに、デフォルトのワークスペースJREを使用するようにする方法はありますか?

4

3 に答える 3

4
  1. プロジェクトの [ビルド パスの構成] に移動し、[ライブラリ] タブに移動します。
  2. JRE システム ライブラリを削除する
  3. [ライブラリの追加...] をクリックし、[ワークスペースの既定の JRE] を選択します。

これにより、現在の JRE が得られ、特定の JRE は指定されません

于 2012-09-07T16:58:31.143 に答える
2

pom に maven-compiler-plugin を追加すると、maven は特定のバージョンの Java を使用するようになります。

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
             <version>3.3</version>
             <configuration>
                 <source>1.8</source>
                 <target>1.8</target>
             </configuration>
        </plugin>
    </plugins>
</build>

ただし、システムに jre と jdk の両方がインストールされている場合(特定の Java バージョン用)、maven は jre を選択し、JDK が必要であると不平を言うことがあります。これは、Eclipse でMaven > Update Projectを使用した後に発生する可能性があります。

これを解決するには、Eclipse で [JRE System Library] > [Properties] > [Environments] を右クリックし、[JavaSE-1.8] を選択します。システムに複数の互換性のある JRE がある場合は、jdk1.8.x > OK > 実行環境として JavaSE-1.8 (jdk1.8.x) を選択 > OK

ここで、maven は Java バージョン 1.8 を選択する必要があり、Eclipse は maven に、この Java バージョンのデフォルト JRE として jdk1.8 を使用するように指示します。

于 2015-07-17T14:13:25.070 に答える
1

Maven でこれを行う方法はないようです。代わりに、問題のあるコードの所有者と協力して問題を修正している間、Eclipse 設定でエラーを警告に変更しました。

于 2012-09-14T14:47:11.673 に答える