我有以下目录结构:
dir
|
|---project1
| |
| |--build.gradle
| |--src/main/java/com/bpd/app
| |
| |--SomeClass.java
|
|---project2
|
|--build.gradle
|--src/main/java/com/bpd/app
|
|--AnotherClass.java
|--MyClass.java
两者都是单独的Java项目,但SomeClass
无法编译,因为它找不到MyClass
。
我可以使用Eclipse将project2
添加到project1
的构建路径中(然后SomeClass
将编译),但我想知道如何使用Gradle来完成它。可能吗?如何让Gradle将project2
添加到project1
的构建路径?
这里是其中一个项目的build.gradle
文件。只有库依赖项不同。
apply plugin: 'java'
apply plugin: 'eclipse-wtp'
apply plugin: 'war'
apply plugin: 'checkstyle'
apply plugin: 'pmd'
apply plugin: 'findbugs'
apply plugin: 'jacoco'
repositories {
mavenCentral()
}
dependencies {
compile "javax.ws.rs:jsr311-api:1.1.1"
compile 'com.sun.jersey:jersey-server:1.13'
compile 'com.sun.jersey:jersey-core:1.13'
compile 'com.sun.jersey:jersey-servlet:1.13'
compile 'com.sun.jersey:jersey-json:1.13'
compile 'javax.ejb:ejb-api:3.0'
compile 'org.eclipse.persistence:javax.persistence:2.0.0'
compile 'org.eclipse.persistence:org.eclipse.persistence.jpa:2.6.2'
compile 'org.xerial:sqlite-jdbc:3.8.11.2'
testCompile 'junit:junit:4.12'
testCompile 'org.assertj:assertj-core:3.2.0'
}
sourceSets.test.resources {
srcDirs = ["src/test/java", "src/test/resources"]
exclude "**/package-info.java"
}
jar {
from configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
}
tasks.withType(FindBugs) {
reports {
xml.enabled = false
html.enabled = true
}
}
checkstyle {
toolVersion = "6.13"
}
答案 0 :(得分:11)
这很简单。
第1步
只需将这些行添加到您的settings.gradle文件
即可include ':library'
project(':library').projectDir = new File("../MyLibrary/library")
第一行只包含库,第二行指向项目目录。所以一定要正确地做到这一点。 “..”只是简单地导航目录。
第2步
只需将此行添加到应用程序的build.gradle即可。
compile project(':library')
此行用您的应用程序编译项目。