我想使用maven从命令行构建我的游戏的html版本。但是,当我为package
文件夹运行core
命令时:
mvn clean package -pl core,html
由于源路径中的某些单元测试,我收到以下错误:
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /home/klenwell/projects/mygame/playn/mygame/core/src/main/java/mygame/playn/tests/unit/UserDataTest.java:[3,23] package org.junit does not exist
[ERROR] /home/klenwell/projects/mygame/playn/mygame/core/src/main/java/mygame/playn/tests/unit/UserDataTest.java:[7,16] package org.junit does not exist
...
如何将包含这些测试文件的目录排除在编译中?
答案 0 :(得分:3)
混合source
和test
类并不是一个好主意。根据maven惯例,您应该将测试从src/main/java
移至src/test/java
。
您应该添加junit
的依赖项,以便可以编译测试。
您可以选择在运行maven时使用-DskipTests
或类似内容跳过测试(如果它们已损坏)。
答案 1 :(得分:0)
将以下块添加到我的核心plugins
文件的pom.xml
部分,从编译中排除测试并允许构建成功:
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<excludes>
<exclude>**/*Test*.java</exclude>
</excludes>
</configuration>
</plugin>