【发布时间】:2014-03-06 15:00:06
【问题描述】:
默认情况下,Maven标准目录布局有两个Java源码文件夹:
src/main/java
src/test/java
出于我的目的,我需要第三个 src/junit/java,它应该使用分类器 junit 打包到 JAR 中。
如果可能,新的源文件夹应该有它自己的类路径(编译 + 范围为 junit 的所有内容)。
我的猜测是,为此,我至少必须修改资源并编译插件。
或者有没有更简单的方法?
我有一个 workaround as explained here,但为此,我必须将 Mockito 和 JUnit 之类的东西放在 compile 类路径上,这违反了我的纯洁感。
对于所有怀疑我的方法是否明智的人:当您使用来自src/main/java 的代码时,我有帮助编写单元测试的支持代码。由于我在项目本身的测试中使用相同的支持代码,因此需要在 after src/main/java 和 before src/test/java 编译此代码。
具体来说,我的支持代码需要从src/main/java 导入代码,并且测试需要能够导入支持代码。
【问题讨论】:
-
为什么你的支持代码不能包含在测试目录中?如果依赖项是正确的,它将在需要它的测试代码之前出现,对吧?
-
@DrLivingston:因为我还有其他项目也需要支持代码。
-
我想我仍然缺少一些东西。就你所说的听起来你的支持代码需要它自己的位置,然后你的测试代码应该依赖它和主代码? (我认为或多或少是 INK 下面的回答所暗示的)
-
我的依赖树是 main
标签: maven-3 maven-compiler-plugin