Maven Shade插件 - 如何包含测试类和测试资源?

时间:2017-07-13 03:00:43

标签: java maven pom.xml executable-jar maven-shade-plugin

我使用maven shade插件生成可执行jar。但是,让我的src/main/javasrc/main/resources文件打包后,我想要测试文件夹src/test/java& src/test/resources包括在内。

我已经检查了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 个答案:

答案 0 :(得分:1)

IncludeResourceTransformer可能会对您有所帮助。

或者,this页面描述了如何覆盖maven通常使用的目录,包括测试资源。我认为在您的pom.xml中,您可以包含一个构建部分,如示例所示,并且仅包含testSourceDirectory和testResources,而忽略了您不希望包含的其他内容。