0

リソースをフィルタリングするために外部プロパティファイルを読み取るmavenプロジェクトがあります。これは mvn パッケージを使用する場合は正常に機能しますが、JUnit テストから開始すると、プロパティ ファイルではなく pom 自体でプロパティが宣言されている場合にのみ機能するため、プラグインの構成に問題があると思います。私は私のpomでこれを手に入れました:

<plugin>
    <groupId>org.eclipse.m2e</groupId>
    <artifactId>lifecycle-mapping</artifactId>
    <version>1.0.0</version>
    <configuration>
      <lifecycleMappingMetadata>
        <pluginExecutions>
          <pluginExecution>
            <pluginExecutionFilter>
              <groupId>org.codehaus.mojo</groupId>
              <artifactId>properties-maven-plugin</artifactId>
              <versionRange>[1.0-alpha-2,)</versionRange>
              <goals>
                <goal>read-project-properties</goal>
              </goals>
            </pluginExecutionFilter>
            <action>
              <execute />
            </action>
          </pluginExecution>
        </pluginExecutions>
      </lifecycleMappingMetadata>
    </configuration>
  </plugin>
  <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>properties-maven-plugin</artifactId>
    <version>1.0-alpha-2</version>
    <executions>
      <execution>
        <phase>initialize</phase>
        <goals>
          <goal>read-project-properties</goal>
        </goals>
        <configuration>
          <files>
            <file>${build.properties.file}</file>
          </files>
        </configuration>
      </execution>
    </executions>
  </plugin>

ライフサイクルは、Eclipse で赤くマークされています。

編集:

m2e 部分はプラグイン管理で囲む必要があり、エラーはなくなりました。Maven 設定でゴールが実行されていることがわかります。

しかし、このプラグインを使用すると、Eclipse から単体テストを実行するときに、実際にはまだリソースがフィルタリングされません。だから、これはまだ開いています;)

4

2 に答える 2

0

次のようなブロックにライフサイクル マッピング プラグインを含めてみてください。私はこれを、Eclipse コネクターを持たない他の Maven プラグインで成功させました。

    <profile>
      <!-- Contents of this profile are only needed to make this project work in       
           Eclipse. Once all appropriate m2e connectors are available, this can be
           removed -->
        <id>m2e</id>
        <activation>
            <property>
                <name>m2e.version</name>
            </property>
        </activation>
        <build>
          <pluginManagement>
            <plugins>
              <plugin>
                <groupId>org.eclipse.m2e</groupId>
                <artifactId>lifecycle-mapping</artifactId>
                <!-- other plugin config here ->
              </plugin>
            </plugins>
          </pluginManagement>
        </build>
      </profile>

編集:さて、これで Eclipse にグリーン ビルドができたので<execute/>、config のタグを次のように置き換えてみてください。

<execute>
    <runOnIncremental>true</runOnIncremental>
    <runOnConfiguration>true</runOnConfiguration>
</execute>

次に、Maven --> Update Project を再度実行します。

トピックに関するEclipse Wikiページ

于 2013-10-08T16:36:56.940 に答える