gpt4 book ai didi

gradle - 为什么gradle eclipseClasspath任务不包括传递项目依赖项?

转载 作者:行者123 更新时间:2023-12-03 04:44:14 25 4
gpt4 key购买 nike

我创建了一个简单的示例(名称实际上并不代表任何含义):

文件夹结构:

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文件夹下的root gradle构建文件)
subprojects {
apply plugin: 'java'
apply plugin: 'eclipse'
}

settings.gradle include 'core', 'database', 'webapp'
gradleMultiProject \ core \ src \ main \ java \ Core.java的
package main.java;

public class Core
{
public static String HELLO_MESSAGE = "hello world!";
}

核心的build.gradle
task hello {
println "hello from core!"
}

gradleMultiProject \ database \ src \ main \ 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 \ webapp \ src \ main \ 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编译一切正常(渐变构建)。它甚至列出了传递依存关系(渐变依存关系)。但是,当我尝试为webapp项目生成.classpath文件(gradle eclipseClasspath)时,它不包含核心。为什么?!?!?!?!?!

最佳答案

实际上,这不是问题,因为Eclipse在数据库中“导出”核心。这意味着它将显示在需要数据库项目的任何项目中。

我只是创建了这个确切的项目并运行了“gradle eclipse”,并且没有构建错误,因为webapp项目需要数据库项目,而数据库项目需要并导出核心项目。要了解更多信息,请查看eclipse中的构建路径。

关于gradle - 为什么gradle eclipseClasspath任务不包括传递项目依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19461317/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com