当前位置: 首页 > 知识库问答 >
问题:

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

路扬
2023-03-14

我创建了一个简单的示例(名称实际上并不意味着什么):

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
subprojects {
    apply plugin: 'java'
    apply plugin: 'eclipse'
}

GradleMultiProject\core\src\main\java\core.java

package main.java;

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

堆芯建造

task hello {
    println "hello from core!"
}



package main.java;

public class Database
{
  public void saveMessage()
  {
    System.out.println(Core.HELLO_MESSAGE);
  }
}
dependencies {
    compile project(':core')
}
package main.java;

public class Webapp
{
  public static void main(String[] args)
  {
    Database database = new Database();
    database.saveMessage();
    System.out.println(Core.HELLO_MESSAGE);
  }
}
dependencies {
    compile project(':database')
}

共有1个答案

闻人越
2023-03-14

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

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

 类似资料:
  • 我在Scala项目中使用了官方的Gatling Gradle插件,我发现了一个问题,其中包含了依赖项,如 不包括可传递依赖项。也就是说,我有一个Gatling模拟类,它扩展了中的一个类,而依赖于这个类。但是,当我尝试运行模拟时,会出现如下错误 当我查看Gradle依赖时,我将视为的依赖项。我的IDE(IntelliJ)在点击代码时也能识别它。 我试着在一页文档中搜索这个插件,但是我没有看到任何有用

  • 我的情况: 我有两个独立的项目A和B。 没有项目A。 A和B使用相同的库: < li >反射-0.9.9-RC1.jar < li >番石榴-11.0.2.jar < Li > XML-API-1.0 . B2 . jar < li>javassist-3.16.1-GA.jar < li>dom4j-1.6.1.jar < li>jsr305-1.3.9.jar 我制作了项目C,这是项目a的插件

  • 这个问题将澄清什么是传递依赖,以及它在Maven中如何在非常高的级别上工作。 我的定义是:在依赖树中,比如-- 若C在B中有范围编译,那个么将B声明为A的依赖项就足以用Maven构建A。但是,如果C在B中提供了作用域,那么当Maven构建A时,除非A在其依赖项中声明C,否则该构建不会根据C自动编译A。 这是正确的吗?

  • Eclipse-Neon Maven Java原型-4项目 嗨,我生成了一个包含4个项目的maven原型? 请你帮我做那件事好吗。因为我试过但没有成功 我的尝试: 我添加了对BULK的框架依赖 我添加了对bulk_ear的框架依赖 但是当我安装Maven时,framework.jar没有打包到EAR。

  • 目前,在我的中有一条关于支持库不使用相同版本的警告。 所有com.android.support库必须使用完全相同的版本规范(混合版本可能导致运行时崩溃)。找到了27.0.1、23.4.0版本。示例包括com.android.support:animated-vector-drawable:27.0.1和com.android.support:cardview-v7:23.4.0 还有一个很好的方

  • 我的项目有一些依赖项(真的很多),我正在依赖项中添加它们。但是我不想要任何传递依赖项,这将超出我的控制范围(maven给我带来了几乎三倍于我需要的东西)。我试图通过以下方式禁止传递依赖项: 但是在我做了一个mvn包之后,传递依赖项仍然被下载并添加到我构建的包中。这是maven的日志记录: 所以这不是我想要的。我想要maven不要自动下载传递依赖项,或者不要将它们添加到我的“mvn包”中。 感谢任何