我正试图用Maven从最后的WAR文件中排除测试类。通常,如果我的测试是在src/test/java中,那么默认情况下应该这样做,但在我的情况下却没有这样做。测试类在文件夹WEB-INF\test-classes\中编译,所以我在pom.xml中添加了以下插件
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<packagingExcludes>**/test-classes/*.class</packagingExcludes>
</configuration>
</plugin>
但是即使这样,我的测试类仍然包含在。war文件中,最后有没有人可以解决这个问题或者解释我缺少什么?谢谢
<pluginManagement>
<plugins>
<!-- fix clean issue where duplicated entries of pom are created-->
<!--https://bugs.eclipse.org/bugs/show_bug.cgi?id=405915-->
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<filesets>
<fileset>
<directory>src/main/webapp/META-INF</directory>
<includes>
<include>**/pom.properties</include>
<include>**/pom.xml</include>
</includes>
</fileset>
</filesets>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.jibx</groupId>
<artifactId>jibx-maven-plugin</artifactId>
<goals>
<goal>bind</goal>
</goals>
<versionRange>[1.2.6,)</versionRange>
</pluginExecutionFilter>
<action>
<execute>
<runOnIncremental>true</runOnIncremental>
</execute>
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa-maven-plugin</artifactId>
<goals>
<goal>enhance</goal>
</goals>
<versionRange>[2.2.2,)</versionRange>
</pluginExecutionFilter>
<action>
<execute>
<runOnIncremental>true</runOnIncremental>
</execute>
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<goals>
<goal>run</goal>
</goals>
<versionRange>[1.8,)</versionRange>
</pluginExecutionFilter>
<action>
<execute>
<runOnIncremental>false</runOnIncremental>
</execute>
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<!-- toolchain plugin to use specific JDK
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-toolchains-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<goals>
<goal>toolchain</goal>
</goals>
</execution>
</executions>
<configuration>
<toolchains>
<jdk>
<version>1.8</version>
<vendor>ibm</vendor>
</jdk>
</toolchains>
</configuration>
</plugin>
</plugins>
-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<!-- <forceJavacCompilerUse>true</forceJavacCompilerUse>-->
</configuration>
</plugin>
<!-- OPENJPA -->
<plugin>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa-maven-plugin</artifactId>
<version>2.2.2</version>
<configuration>
<includes>com/dsv/express/persistence/domain/*.class</includes>
<enforcePropertyRestrictions>true</enforcePropertyRestrictions>
<persistenceXmlFile>${project.basedir}${persistenceXmlFile-Path}</persistenceXmlFile>
</configuration>
<executions>
<execution>
<id>enhancer</id>
<phase>process-classes</phase>
<goals>
<goal>enhance</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa</artifactId>
<version>2.2.2</version>
</dependency>
</dependencies>
</plugin>
</plugins>
问题是我使用了mavenpackage
goal,其中没有包含集成测试。运行MVN安装
解决了我的问题!谢谢
现在我希望someClass使用context1.xml,而不是context2.xml。有没有办法排除?问题是:我的所有测试(300个测试)都有一个基类。我希望它们都使用context1,这是一个替代原始上下文的模拟上下文。只有一个类应该使用原始上下文来测试它(如果基将没有它在其位置{},它将使用原始上下文)。
我要从Thorntail搬到Quarkus。在我的测试中,我曾创建一个@deployment方法,在该方法中,我只放置测试所需的内容。特别是,我没有把一个类放在@Startup注释中(因为我不想测试它…)。当我移动到QUARKUS时,我抑制了de@deployment静态方法,然后当我启动测试时@Startup是。。。一开始,发生了很多不好的事情,阻止我测试我想要测试的东西(好吧,它崩溃了,因为它
我想镜像两个文件夹,但排除某些文件类型(例如js文件)。我可以用 /XF选项来做到这一点。 我遇到的问题是,如果目标文件夹中有一个带有js文件的Foo文件夹,但源文件夹中没有Foo文件夹,那么下面的robocopy命令将删除目标端的Foo文件夹以及其中的js文件。 机器人复制。exe d:\Source d:\Destination/E/PURGE/XF*。js/COPYALL/FFT 我想要的是
我正在尝试创建一个Jar用作Maven存储库 我已经构建了所有内容,所有类都准备好了。唯一的问题是gradlew./build包含了测试文件夹中的类和资源。我不希望这些作为jar的一部分,尤其是正在测试的资源文件。 因此,我的问题是,如何从jar构建任务中排除这些文件。我试过了 在我的身体里。格拉德尔:但那没用 我是Gradle和Maven的新手,所以任何洞察力都会有帮助。谢谢! 参考材料 bui
我想从我的checkstyle报告中忽略一个特定的文件夹(名为generated-sources ),因为它们是生成的。 我正在使用 eclipse-cs 来显示我的违规行为。 我在xml中添加了suppressionfilter: 我的压抑.xml看起来像这样: 但它不起作用。有什么想法吗?
我们有一个EAR项目,它组装一个WAR文件,并有一些JAR文件作为依赖项。EAR的POM.xml如下所示: 作为JAR包含在EAR中的包impl中有一些测试类。不幸的是,在组装EAR时,这些测试类与JAR捆绑在一起。除了facet之外,Maven应该包含测试类,当EAR被组装时,我怎样才能在JAR中排除这些测试类呢? Package-impl中的所有测试类都在src/test/java Sourc