0

私は2つのアーティファクトを持っています:

  • artifact-A : src/test/resources/ にリソースが含まれています
<plugins>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>2.2</version>
    <executions>
      <execution>
        <goals>
          <goal>test-jar</goal>
        </goals>
      </execution>
    </executions>
  </plugin>
</plugins>
  • アーティファクト B : アーティファクト A のリソースを使用
<dependency>
  <groupId>com.xxxx.yyy</groupId>
  <artifactId>artifact-A</artifactId>
  <version>3.0-SNAPSHOT</version>
  <type>test-jar</type>
  <scope>test</scope>
</dependency>

問題は、リソースがプロジェクト成果物 B で抽出されないことです。どうやってやるの ?

4

2 に答える 2

1

アーティファクトBでは、maven-dependency-pluginを使用してtest-jarからリソースを抽出しました

<plugin> 
            <groupId>org.apache.maven.plugins</groupId> 
            <artifactId>maven-dependency-plugin</artifactId> 
            <version>2.4</version> 
            <executions> 
                <execution> 
                    <id>resource-dependencies</id> 
                    <phase>process-test-resources</phase> 
                    <goals> 
                        <goal>unpack-dependencies</goal> 
                    </goals> 
                    <configuration> 
                        <includeArtifactIds>artifact-A</includeArtifactIds> 
                        <includes>**/db-test/*</includes>  
                        <outputDirectory>${project.build.testOutputDirectory}</outputDirectory> 
                    </configuration> 
                </execution> 
            </executions> 
        </plugin> 
于 2012-07-24T08:13:58.850 に答える
1

このように依存関係を定義すると、コンパイル中などにクラスパスに配置されるため、使用されたjarが抽出されることはありません。これは、アーティファクトからリソースにアクセスすることを意味します-Aはクラスパスを介してリソースにアクセスする必要があります。

于 2012-07-24T07:49:53.357 に答える