我创建了一个简单的例子(这些名称并不意味着什么):
文件夹结构:
gradleMultiProject
build.gradle
core
build.gradle
src
main
java
Core.java
database
build.gradle
src
main
java
Database.java
settings.gradle
webapp
build.gradle
src
main
java
Webapp.java
以下是上述文件:
build.gradle(gradleMultiProject文件夹下的根gradle构建文件)
subprojects {
apply plugin: 'java'
apply plugin: 'eclipse'
}
settings.gradle
include 'core', 'database', 'webapp'
gradleMultiProject \芯\ SRC \主\的java \ Core.java
package main.java;
public class Core
{
public static String HELLO_MESSAGE = "hello world!";
}
Core的build.gradle
task hello {
println "hello from core!"
}
gradleMultiProject \数据库\ SRC \主\的java \ Database.java
package main.java;
public class Database
{
public void saveMessage()
{
System.out.println(Core.HELLO_MESSAGE);
}
}
数据库的build.gradle
dependencies {
compile project(':core')
}
gradleMultiProject \ web应用\ SRC \主\ java中
package main.java;
public class Webapp
{
public static void main(String[] args)
{
Database database = new Database();
database.saveMessage();
System.out.println(Core.HELLO_MESSAGE);
}
}
Webapp的build.gradle
dependencies {
compile project(':database')
}
Gradle编译一切就好了(gradle build)。它甚至可以很好地列出传递依赖(gradle依赖)。但是当我尝试为webapp项目生成.classpath文件(gradle eclipseClasspath)时,它不包含核心。
为什么?!?!?!?!?!
答案 0 :(得分:0)
实际上这不是一个问题因为eclipse"出口"数据库中的核心。这意味着它将出现在任何需要数据库项目的项目中。
我刚刚创建了这个确切的项目,然后运行" gradle eclipse"并且没有构建错误,因为webapp项目需要数据库项目和数据库项目需要并导出核心项目。要了解更多关于eclipse中构建路径的信息。