【问题标题】:Maven avoid certain files from being copied to test-classesMaven 避免某些文件被复制到测试类
【发布时间】:2018-05-04 06:41:11
【问题描述】:

我试图避免某些文件类型最终不会复制到目标/测试类中。我现在在我的 pom 文件中但它不起作用的代码是:

<plugin>
 <groupId>org.apache.maven.plugins</groupId>        
  <artifactId>maven-resources-plugin</artifactId>
   <executions>
    <execution>
     <id>default-testResources</id>
      <phase>process-resources</phase>
       <goals>
        <goal>testResources</goal>
       </goals>
       <configuration>                       
        <outputDirectory>
         ${project.build.directory}/test-classes
        </outputDirectory>
        <testResources>
         <testResource>
          <directory>src/test/resources</directory>
          <filtering>true</filtering>                                   
          <excludes>
           <exclude>**/*.nc</exclude>
          </excludes>
        </testResource>
       </testResources>
      </configuration>
     </execution>               
    </executions>
  </plugin>

【问题讨论】:

  • 如果不是测试资源,那为什么是src/test/resources下的文件呢?
  • 简单答案将它们从src/test/resources中删除...
  • 但我确实希望它们在 src/test/resources 中,只是不要将它们全部复制到目标/测试类,因为其中一些非常大并且编译时间太长
  • 比我再问一次。如果不想复制它们,为什么在src/test/resources 中需要它们?你需要还是不需要?如果测试需要它们,我会认真考虑您的测试,如果它们走的是正确的道路……此外,您所说的“相当大”是什么意思?

标签: maven maven-resources-plugin


【解决方案1】:

我终于可以做我想做的事了:

<execution>
 <id>default-testResources</id>
 <phase>test-compile</phase>
 <goals>
  <goal>testResources</goal>
 </goals>
 <configuration>
  <resources>
   <resource>
    <directory>${project.basedir}/src/test/resources </directory>
    <excludes>
     <exclude>**/*.nc</exclude>
    </excludes>
   </resource>
  </resources>
 </configuration>
</execution>

使用此代码,这与我在问题中发布的代码非常相似,并且通过在我的 Eclipse 设置中 更改 maven 版本 从 3.3.3 到 3.3.9,我能够避免将我想要复制到目标/测试类的文件

【讨论】:

    猜你喜欢
    • 2015-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-13
    • 2017-12-03
    相关资源
    最近更新 更多