maven为src / main代码创建两个jar,为src / test创建其他jar

时间:2015-08-03 12:07:04

标签: maven maven-3 maven-plugin maven-assembly-plugin

我有两个子文件夹:

  1. 的src /主/阶
  2. 的src /测试/ SCLA
  3. 我想用它制作两个罐子。你能帮妈我pom.xml创建两个罐子吗?

    注意:我是maven的初学者。

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    
        <groupId>testProject</groupId>
        <artifactId>Pricing</artifactId>
        <version>0.0.1</version>  
    
        <dependencies>
            <dependency>
                <groupId>org.scala-lang</groupId>
                <artifactId>scala-library</artifactId>
                <version>2.10.4</version>
            </dependency>
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.scala-tools</groupId>
                    <artifactId>maven-scala-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>compile</id>
                            <goals>
                                <goal>compile</goal>
                            </goals>
                            <phase>compile</phase>
                        </execution>
                        <execution>
                            <id>test-compile</id>
                            <goals>
                                <goal>testCompile</goal>
                            </goals>
                            <phase>test-compile</phase>
                        </execution>
                    </executions>
                    <configuration>
                        <recompileMode>incremental</recompileMode>
                    </configuration>
                </plugin>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.1</version>
                    <configuration>
                        <source>1.8</source>
                        <target>1.8</target>
                    </configuration>
                </plugin>
                <!-- <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>2.4</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>test-jar</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin> -->
            </plugins>
        </build>
    </project>
    

    用它来创建两个包含所有代码的jar,另一个包含测试代码...我的要求是主代码一个和测试代码其他...不混合...请建议

2 个答案:

答案 0 :(得分:2)

使用jar插件的test-jar goal

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <executions>
        <execution>
            <id>test-jar</id>
            <goals>
                <goal>test-jar</goal>
            </goals>
        </execution>
    </executions>
</plugin>

答案 1 :(得分:0)

我同意@tdrury ...我会尝试将scala插件中的testOutputDir设置为另一个文件夹,以便在不同的文件夹中生成测试类和主类。然后使用test-jar中的maven-jar-plugin目标相应地配置testClassesDirectory属性。