Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用Maven项目在JAR中添加测试类_Java_Maven_Maven Assembly Plugin - Fatal编程技术网

Java 如何使用Maven项目在JAR中添加测试类

Java 如何使用Maven项目在JAR中添加测试类,java,maven,maven-assembly-plugin,Java,Maven,Maven Assembly Plugin,我正试图将我的测试类包含在Maven项目中生成的JAR中 我已经创建了Maven项目,并使用JUnit创建了测试类 当我试图构建JAR时,这些测试类不包含在生成的JAR中。您可以生成一个JAR,其中包含您的测试类和资源。 请参考maven官方网站- ... ... org.apache.maven.plugins maven jar插件 3.0.2 试验罐 ... ... 我已经解决了添加内容的问题。我们要两罐。一个是类,另一个是测试类 assembly.xml <?xml versi

我正试图将我的测试类包含在Maven项目中生成的JAR中

我已经创建了Maven项目,并使用JUnit创建了测试类


当我试图构建JAR时,这些测试类不包含在生成的JAR中。

您可以生成一个JAR,其中包含您的测试类和资源。 请参考maven官方网站-


...
...
org.apache.maven.plugins
maven jar插件
3.0.2
试验罐
...
...

我已经解决了添加内容的问题。我们要两罐。一个是类,另一个是测试类

assembly.xml

<?xml version="1.0" encoding="UTF-8"?> 
<assembly 
    xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi chemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd <http://maven.apache.org/xsd/assembly-1.1.3.xsd> "> 

    <id>fat-tests</id> 
    <formats> 
        <format>jar</format> 
    </formats> 
    <includeBaseDirectory>false</includeBaseDirectory> 
    <dependencySets> 
        <dependencySet> 
            <outputDirectory>/</outputDirectory> 
            <useProjectArtifact>true</useProjectArtifact> 
            <unpack>true</unpack> 
            <scope>test</scope> 
        </dependencySet> 
    </dependencySets> 
    <fileSets> 
        <fileSet> 
            <directory>${project.build.directory}/test-classes</directory> 
            <outputDirectory>/</outputDirectory> 
            <includes> 
                <include>**/*.class</include> 
            </includes> 
            <useDefaultExcludes>true</useDefaultExcludes> 
        </fileSet> 
    </fileSets> 
</assembly>
<build> 
        <plugins> 
            <plugin> 
                <artifactId>maven-assembly-plugin</artifactId> 
                <version>2.3</version> 
                <configuration> 
                    <descriptor>src/main/assembly.xml</descriptor> 
                </configuration> 
                <executions> 
                    <execution> 
                        <id>make-assembly</id> 
                        <phase>package</phase> 
                        <goals> 
                            <goal>single</goal> 
                        </goals> 
                    </execution> 
                </executions> 
            </plugin> 

             <plugin> 
                <groupId>org.apache.maven.plugins</groupId> 
                <artifactId>maven-surefire-plugin</artifactId> 
                <configuration> 
                    <skip>false</skip> 
                </configuration> 
            </plugin> 

        </plugins> 
    </build> 

脂肪测试
罐子
假的
/ 
真的
真的
试验
${project.build.directory}/test类
/ 
**/*.类
真的
POM.xml

<?xml version="1.0" encoding="UTF-8"?> 
<assembly 
    xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi chemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd <http://maven.apache.org/xsd/assembly-1.1.3.xsd> "> 

    <id>fat-tests</id> 
    <formats> 
        <format>jar</format> 
    </formats> 
    <includeBaseDirectory>false</includeBaseDirectory> 
    <dependencySets> 
        <dependencySet> 
            <outputDirectory>/</outputDirectory> 
            <useProjectArtifact>true</useProjectArtifact> 
            <unpack>true</unpack> 
            <scope>test</scope> 
        </dependencySet> 
    </dependencySets> 
    <fileSets> 
        <fileSet> 
            <directory>${project.build.directory}/test-classes</directory> 
            <outputDirectory>/</outputDirectory> 
            <includes> 
                <include>**/*.class</include> 
            </includes> 
            <useDefaultExcludes>true</useDefaultExcludes> 
        </fileSet> 
    </fileSets> 
</assembly>
<build> 
        <plugins> 
            <plugin> 
                <artifactId>maven-assembly-plugin</artifactId> 
                <version>2.3</version> 
                <configuration> 
                    <descriptor>src/main/assembly.xml</descriptor> 
                </configuration> 
                <executions> 
                    <execution> 
                        <id>make-assembly</id> 
                        <phase>package</phase> 
                        <goals> 
                            <goal>single</goal> 
                        </goals> 
                    </execution> 
                </executions> 
            </plugin> 

             <plugin> 
                <groupId>org.apache.maven.plugins</groupId> 
                <artifactId>maven-surefire-plugin</artifactId> 
                <configuration> 
                    <skip>false</skip> 
                </configuration> 
            </plugin> 

        </plugins> 
    </build> 

maven汇编插件
2.3
src/main/assembly.xml
组装
包裹
单身
org.apache.maven.plugins
maven surefire插件
假的

TestClass不应该是jar的一部分。您可以将测试类打包为一个单独的
test jar
,请参见此处:jar只允许包含源代码、资源、配置和清单文件。我稍微改进了语法并删除了maven插件标记,正如该标签的文档所说,只在与Maven插件开发相关的问题上使用它。要求是在Jmeeter中运行测试类。我们还需要一个带有测试类的Jar文件。我们用汇编文件得到了解决方案。