使用目标/测试类中的类

时间:2018-05-15 23:35:07

标签: java maven build

我是Java / Maven的新手。我有一个标准的maven项目结构,我编写了一些我想在一些测试脚本中使用的辅助类,这些类在src/test/java中。在我mvn clean install之后,我可以看到这些类在target/test-classes中,但在我的脚本中虽然我使用了targetCLASSPATH目录的绝对路径,但是我看到Could not find or load main class ...

例如,我有src/test/java/validation/CrossValidator.java,在我的脚本中我使用java -cp $CLASSPATH validation.CrossValidator ...,其中CLASSPATHtarget目录的绝对路径。

任何人都可以指导我完成这项工作吗?我知道我可以简单地将这些类移动到src/java/main,但我不希望这些类成为库jar的一部分,因为它们不会在运行时使用。

先谢谢。

1 个答案:

答案 0 :(得分:0)

您可以添加maven-jar-plugin的辅助执行,从项目中构建测试jar:

  <plugin>
    <artifactId>maven-jar-plugin</artifactId>
    <executions>
      <execution>
        <goals>
          <goal>test-jar</goal>
        </goals>
      </execution>
    </executions>
  </plugin>

这将创建一个包含test-jar分类器的jar,其中包含所有测试类。

更多详细信息,请访问Create test JAR