gpt4 book ai didi

eclipse - Buildship-将其他Eclipse项目作为依赖项

转载 作者:行者123 更新时间:2023-12-03 03:20:32 24 4
gpt4 key购买 nike

我的工作区中有三个 eclipse 项目(Project A,Project B和Project C)。项目B和C取决于项目A。

在我的build.gradle文件中,我在B和C中设置了依赖项以引用A:

repositories {
mavenCentral()
mavenLocal()
}

dependencies {
compile('com.example:projectA:1.0')
}

但是,当我右键单击并选择Project B或C上的Gradle-> Refresh Gradle Project时,它表示无法解析projectA依赖项。

我正在使用Mars 4.5.2和Buildship版本1.0.20。我了解Buildship 2.0一旦发布将提供支持,以便它可以将其他Eclipse项目称为依赖项。在过渡期间,如何将项目A安装到存储库中,并在项目B和C中引用它?在Buildship Gradle Tasks中看不到项目A的安装选项。

最佳答案

您已使用GAV(group-artifact-version)添加了一个依赖项:com.example:projectA:1.0

当您使用GAV在gradle中声明依赖项时,gradle假定它应该在它知道的所有可用Maven或Ivy存储库中查找该依赖项。我认为它无法解析GAV的原因是,您从未将项目A发布到要搜索构建的任何存储库中。

您有两种解决方法:

  • 将项目A的输出(jar文件)发布到Maven存储库。您将需要应用Maven publishing plugin。例如,您可以使用“gradle publishToMavenLocal”发布到本地存储库。
  • 将依赖项声明为Project依赖项,并保留项目as sub-project of the same parent project
    您将依赖项声明为compile project(':projectA')

  • 后者可能更容易使用。

    顺便说一句,Buildship本身可能与该问题无关,而是使用诸如Gradle或Maven之类的依赖项跟踪构建系统的一个普遍问题。我记得曾经看到过有关Gradle在3.0及更高版本中如何更好地解决此问题的引用,但是我现在似乎找不到链接。

    关于eclipse - Buildship-将其他Eclipse项目作为依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39728355/

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