2

こんにちは私はマルチモジュールのMavenプロジェクトを持っていて、WindowsマシンにJava1.5Java1.6をインストールし、環境変数(Eclipse Junoの場合)でJava1.6のパスを設定しましたが、 Java5のみでmavenコマンドを実行したいと思います。親プロジェクトpomで、 JavaファイルのコンパイルにのみJava5を使用するように設定できますか。これらの行を親pom.xmファイルに追加しました。

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.5.1</version>
                <configuration>
                    <compilerId>eclipse</compilerId>
                    <source>1.5</source>
                    <target>1.5</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

しかし、チリのプロジェクトpom.xmlファイルでエラーが発生します

ライフサイクル構成でカバーされていないプラグインの実行:org.apache.maven.plugins:maven-compiler-plugin:2.5.1:testCompile(実行:default-testCompile、フェーズ:test-compile)

4

2 に答える 2

1

Plugins 宣言の代わりに Plugin_Management を使用してください。この宣言は、プラグイン構成を子プロジェクトに継承する必要があります (http://maven.apache.org/pom.html#Plugin_Management)。

あなたの場合、次のように見えます:

pom.xml

<build>
  <pluginManagement>
    <plugins>
      <plugin>
         <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>2.5.1</version>
          <configuration>
             <source>1.5</source>
             <target>1.5</target>
          </configuration>
       </plugin>
    </plugins>
   </pluginManagement>
</build>

pom.xml

<build>
  <plugins>
    <plugin>
       <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-compiler-plugin</artifactId>
    </plugin>
  </plugins>
</build>

また、親 pom.xmlで次のプロパティを設定することも可能です

<properties>
   <maven.compiler.source>1.5</maven.compiler.source>
   <maven.compiler.target>1.5</maven.compiler.target>
</properties>
于 2012-11-07T07:27:09.563 に答える
0

テストソースのコンパイルに問題があるようです。

testSourceおよびtestTargetを構成にも追加してみてください。

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.5.1</version>
            <configuration>
                <compilerId>eclipse</compilerId>
                <source>1.5</source>
                <target>1.5</target>
                <testSource>1.5</testSource>
                <testTarget>1.5</testTarget>
            </configuration>
        </plugin>
    </plugins>
</build>

編集

これはよく知られている問題のようで、m2eプラグインの設定を行う必要があります。このEclipseサイトにはいくつかの情報があります:http ://wiki.eclipse.org/M2E_plugin_execution_not_covered

このようなものは、buildタグの下の親pomに追加する必要があります。

<pluginManagement>
    <plugins>
        <plugin>
            <groupId>org.eclipse.m2e</groupId>
            <artifactId>lifecycle-mapping</artifactId>
            <version>1.0.0</version>
            <configuration>
                <lifecycleMappingMetadata>
                    <pluginExecutions>
                        <pluginExecution>
                            <pluginExecutionFilter>
                                <groupId>org.apache.maven.plugins</groupId>
                                <artifactId>maven-compiler-plugin</artifactId>
                                <versionRange>[1.0.0,)</versionRange>
                                <goals>
                                    <goal>test-compile</goal>
                                    <goal>compile</goal>
                                </goals>
                            </pluginExecutionFilter>
                            <action>
                                <execute/>
                            </action>
                        </pluginExecution>
                    </pluginExecutions>
                </lifecycleMappingMetadata>
            </configuration>
        </plugin>
    </plugins>
</pluginManagement>

私は実際には日食ユーザーではないので、なぜこれを行う必要があるのか​​私に聞かないでください。

于 2012-11-07T08:10:34.827 に答える