Java 如何从gradle中的测试源引用子项目生成的工件
我有一个Java项目,其结构如下:Java 如何从gradle中的测试源引用子项目生成的工件,java,gradle,Java,Gradle,我有一个Java项目,其结构如下: <root> | +-- src/main/java/...<my_code> | +-- src/test/java/...<my_test_code> | +-- <mock-artifact1> | | | +-- src/main/java... | +-- <mock-artifact2> | | | +-- src/main/jav
<root>
|
+-- src/main/java/...<my_code>
|
+-- src/test/java/...<my_test_code>
|
+-- <mock-artifact1>
| |
| +-- src/main/java...
|
+-- <mock-artifact2>
| |
| +-- src/main/java...
|
+--src/main/java/。。。
|
+--src/test/java/。。。
|
+--
| |
|+--src/main/java。。。
|
+--
| |
|+--src/main/java。。。
我想从mock-artifact1和mock-artifact2构建jar-s,然后在测试运行时使用这些jar。我应该如何设置Gradle项目的依赖项,以便在测试开始之前已经构建这些工件?
顺便问一下,如何要求gradle不要将这些工件部署到根项目中(因为它们只是测试所必需的)
另外,为了更好地理解,我想说我正在编写一个字节码分析器,它将jar文件作为输入,问题是如何使用Gradle为它编写测试。您必须使您的项目多模块结构类似 在根模块中添加文件: 格雷德尔酒店
include 'mock-artifact1', 'mock-artifact2'
然后,在gradle构建文件的根项目中,您可以在配置范围中添加依赖项。如果您有一个典型的带有“插件java”的java基础项目
您可以在以下行中添加依赖项:
dependencies {
compile project(':mock-artifact1')
compile project(':mock-artifact2')
}
或者,如果您想在测试运行时添加:
dependencies {
testCompile project(':mock-artifact1')
testCompile project(':mock-artifact2')
}
Gradle配置有点棘手,如果您遇到问题,请发帖子了解有关设置Gradle多项目的更多信息: