我有一个具有以下结构的Java项目:
<root>
|
+-- src/main/java/...<my_code>
|
+-- src/test/java/...<my_test_code>
|
+-- <mock-artifact1>
| |
| +-- src/main/java...
|
+-- <mock-artifact2>
| |
| +-- src/main/java...
我想从mock-artifact1和mock-artifact2构建jar-s,然后在测试的运行时使用这些jar。我应该如何设置Gradle项目的依赖项,以便在测试开始之前已经构建了这些工件? 顺便说一句,如何让gradle不要使用根项目部署这些工件(因为它们只是测试所必需的)
P.S。为了更多的理解,我会说我正在编写一个字节码分析器,它将jar文件作为输入,问题是如何使用Gradle为它编写测试。
答案 0 :(得分:1)
你必须使你的项目多模块结构如。
在根模块中添加文件: settings.gradle
include 'mock-artifact1', 'mock-artifact2'
然后,在gradle构建文件的根项目中,您可以在配置范围内添加依赖项。如果你有一个典型的java基础项目&#39;插件java&#39; 您可以添加依赖项行:
dependencies {
compile project(':mock-artifact1')
compile project(':mock-artifact2')
}
或者如果你想在测试运行时添加:
dependencies {
testCompile project(':mock-artifact1')
testCompile project(':mock-artifact2')
}
Gradle配置有点棘手,如果你发布一些问题