2017-07-13 132 views
0

我使用maven shade插件来生成一个可执行的jar。但不知道有我的src/main/javasrc/main/resources文件打包,我想有测试文件夹src/test/java & src/test/resources获得相反。Maven Shade插件 - 如何包含测试类和测试资源?

我已经检查过SO和其他来源,但我找不到可行的解决方案。

我试着用this指南中列出的其他(一个jar和汇编)插件来完成同样的事情,但仍然无法弄清楚。

我也尝试在我的阴影pom配置中使用标签,但我不认为我在做我正确使用它。

任何帮助,将不胜感激!谢谢!

我的插件项:

  <plugin> 
       <artifactId>maven-shade-plugin</artifactId> 
       <version>3.0.0</version> 
       <executions> 
        <execution> 
         <phase>package</phase> 
         <goals> 
          <goal>shade</goal> 
         </goals> 
        </execution> 
       </executions> 
       <configuration> 
        <transformers> 
         <transformer 
           implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> 
          <mainClass>com.my.sample.package.test.Main</mainClass> 
         </transformer> 
        </transformers> 
       </configuration> 
       <dependencies> 
      </plugin> 

回答

1

IncludeResourceTransformer可以帮助你。

或者,this页面描述如何覆盖maven通常使用的目录,包括测试资源。我想在你的pom.xml中,你可以包含一个构建部分,如示例中所示,并且只包含testSourceDirectory和testResources,而不包含你不想包含的其他部分。

+0

这看起来很有前途。一旦我有机会接受你的答案,如果它有效的话,我会试一试。谢谢! – iamkenos

+0

希望这些作品之一。我也会尝试我自己,因为我很好奇,想验证.. –