想要在项目jar中添加testoutputdirectory文件。尝试使用下面但是,测试类没有包含在jar中
需要更改哪些内容包含在项目jar中?
在pom.xml中使用下面的内容
<build>
<finalName>${project.name}</finalName>
<testOutputDirectory>test/classes</testOutputDirectory>
<resources>
</resources>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<finalName>${final.name}</finalName>
<archive>
<manifest>
<addClasspath>true</addClasspath>
</manifest>
</archive>
<descriptor>./src/main/resources/assembly/assembly.xml</descriptor>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<appendAssemblyId>false</appendAssemblyId>
</configuration>
<executions>
<execution>
<id>jar-with-dependencies</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
.........
</build>
下面我在assembly.xml中
<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
<moduleSets>
<moduleSet>
<sources>
<fileSets>
<fileSet>
<directory>.</directory>
<outputDirectory>/</outputDirectory>
<includes>
<include>test/classes/**/*.class</include>
</includes>
</fileSet>
</fileSets>
</sources>
</moduleSet>
</moduleSets>
</assembly>
我根本不认为这样做是个好主意。也许考虑创建一个单独的测试罐。你可以用maven-jar-plugin test-jar goal做到这一点
尽管如此,如果你真的想这样做,你可以通过设置testOutputDirectory
来实现它:
<build>
<testOutputDirectory>${project.build.directory}/classes</testOutputDirectory>
</build>
然后将Tests.java编译为目标/类,然后maven-jar-plugin将它们打包到jar中。
感谢大家的帮助。
我可以使用下面的方法将testoutputdirectory包含在jar中。
<build>
<finalName>${project.name}</finalName>
<testOutputDirectory>test/classes</testOutputDirectory>
<resources>
</resources>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<finalName>${final.name}</finalName>
<archive>
<manifest>
<addClasspath>true</addClasspath>
</manifest>
</archive>
<descriptors>
<descriptor>src/main/resources/assembly/assembly.xml</descriptor>
</descriptors>
<!-- descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs-->
<appendAssemblyId>false</appendAssemblyId>
</configuration>
<executions>
<execution>
<id>jar-with-dependencies</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
.......
</plugins>
..........
</build>
<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
<id>jar-with-dependencies</id>
<baseDirectory>/</baseDirectory>
<formats>
<format>jar</format>
</formats>
<fileSets>
<fileSet>
<directory>./target/classes/</directory>
<outputDirectory></outputDirectory>
<includes>
<include>**/*.class</include>
</includes>
</fileSet>
<fileSet>
<directory>.</directory>
<outputDirectory></outputDirectory>
<includes>
<include>test/classes/**/*.class</include>
</includes>
</fileSet>
</fileSets>
<dependencySets>
<dependencySet>
<useProjectArtifact>false</useProjectArtifact>
</dependencySet>
</dependencySets>
</assembly>