问题标签 [buildship]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2881 浏览

eclipse - 如何允许/解决嵌套复合 Gradle 构建

我遇到了与此处报告的相同的问题:

我有一个 Java 项目 A,它依赖于项目 B(模块),项目 B 依赖于项目 C(另一个模块)。对于项目 AI 想设置“includeBuild ../projectB”,对于项目 BI 也想设置“includeBuild ../projectC”,这样我就可以在 Eclipse + Buildship 2.0 中开发所有内容,而无需为每个小更改运行 Gradle在项目 A、B 和 C 中的每一个中。

但是,如果我设置了这个,我会得到:“包含的构建 '%s' 不能包含构建。”。

预期行为

递归“includeBuild”将递归地包含依赖项目。

当前行为

我得到“包含的构建 '%s' 不能包含构建。”。

你的环境

Gradle 3.5、Buildship 2.0、Eclipse 3.6

我该如何解决/解决此问题?在我的实例中,我有一个包含电子邮件功能的实用程序项目(使用 JavaMail)。数据项目和 UI 项目中需要电子邮件功能。UI 项目也依赖于数据项目。

0 投票
1 回答
88 浏览

java - 使用 Buildship 2 子项目未链接为项目依赖项

几个月来,我们一直在使用 Buildship 1.X 和一些手动 .launch/tasks 来为每个开发环境构建我们的 Eclipse/WTP 配置文件。我目前正在尝试迁移到使用 Buildship 2(我希望这将使我们摆脱对手动位的需求。)

但是,当我通过 buildship/gradle 导入导入项目(此时有 0 个 eclipse 配置文件)时,子项目是通过“库”而不是“项目”包含的(见下图)。相比之下,如果我使用 gradle 的 eclipse 任务来生成 eclipse 配置文件(即 .classpath),然后配置结束,就像我期望的那样。这是 Buildship 的当前限制,还是我需要在我的 gradle 文件中做一些不同的事情来强制 Buildship 将它们作为项目引入?

最终我不知道我应该关心这种差异,但我知道我收到编译器错误,说类路径中缺少子项目中的类。只要我能解决这个问题,我就非常高兴。

与我期望看到的相反

可能有用的信息

设置.gradle:

Project2.0/build.gradle(片段):

0 投票
1 回答
118 浏览

eclipse - Eclipse:仅使用键盘重新运行最后一个 gradle 任务

就是我。使用“Gradle STS”Eclipse 插件。最后,我设法找到了答案。IIRC,你跑了——> 外部工具……什么东西。一两个月没看这些东西,所以我忘记了。

我最近重新安装了 Eclipse,并意识到我们被告知“Gradle STS”即将淘汰,而且非常可鄙……所有处于最前沿的人都在疯狂地转向 Buildship。

很公平,好吧,我将屈服于放弃 Gradle STS 的巨大压力……但是我如何启动一项任务(甚至是最后一项任务)而不必使用鼠标呢?我讨厌... :-( 被迫使用鼠标。

0 投票
1 回答
802 浏览

eclipse - 用于gradle的buildship eclipse插件不起作用

我刚刚buildship为 gradle 安装了 eclipse 插件。我正在使用以下日食:

当我尝试导入或创建新项目时,我没有得到预期的 Gradle 项目向导。如果没有这个,我不确定我将如何使用这个插件。我也找不到任何视图等。我需要用这个安装其他东西吗?

0 投票
1 回答
1958 浏览

eclipse - 为在 Eclipse 中运行的 gradle 应用程序设置 user.dir

我有一个前雇员开发的 gradle 应用程序,它使用 ./gradlew 从命令行完美运行。但现在我正试图在 Eclipse 中调试它,所以我开始尝试在 Eclipse 中运行它。

我安装了 Buildship Gradle 插件并创建了一个运行配置,该配置指定了工作目录并传递了程序参数。当它尝试访问文件系统中的任何内容时,当应用程序使用 System.getProperty("user.dir") 时,它会使用错误的路径 - 默认为我用户的主目录而不是项目文件夹。

我试过添加一个“GRADLE_USER_HOME”类路径变量,但它似乎没有改变任何东西。我也尝试将 Gradle 用户主页(在 Preferences - Gradle 下)设置为项目文件夹,但这也无济于事。我也尝试将 Gradle Distribution 从“From Import Settings”更改为“Gradle Wrapper”,但这没有帮助。

任何帮助,将不胜感激!

0 投票
2 回答
1356 浏览

gradle - Spring Tool Suite 无法使用 Gradle 创建新项目:无法使用 Gradle (STS) 导入,因为未安装 STS Gradle Tooling

我正在使用 Spring Tool Suite:

版本:3.9.0.RELEASE 构建 ID:201707061903 平台:Eclipse Neon.3 (4.6.3)

并安装了 Gradle 插件:

Buildship:用于 Gradle 的 Eclipse 插件 2.1.1.v20170713-0942 org.eclipse.buildship.feature.group Eclipse Buildship

我正在尝试创建一个新的 Spring Starter 项目,但是当我选择类型“Gradle (Buildship 1.x)”或“Gradle (Buildship 2.x)”或“Gradle (STS)”时出现此消息

无法使用 Gradle (Buildship 2.x) 导入,因为未安装 Buildship Gradle Tooling 版本 2.x。您可以从 Eclipse Marketplace 安装它。

有什么帮助吗?

谢谢,安德里亚

0 投票
1 回答
4387 浏览

java - Eclipse Oxygen 中 JavaFX 类的访问限制

我在带有 Oracle JDK 8u144 的 Ubuntu 17.04 中使用 Eclipse Oxygen 4.7.0。

任何在包中引用 JavaFX 类的代码javafx.*,例如javafx.application.Application(错误地)报告为错误

这似乎与“Java System Library”JavaSE-1.8 有关。jfxrt.jar您可以在 Properties -> Java Build Path 中查看“访问规则”,这些规则仅允许 javax/ 、java/、 org.w3c.* 等,甚至在jfxrt.jar.

我可以通过两种不同的方式解决这个问题

  • 更改首选项 -> Java -> 编译器 -> 错误和警告 -> 已弃用和限制的 API -> 禁止参考(访问规则)不会出错。
  • 通过 Properties -> Java Build Path -> JRE System Library -> Edit 手动将系统库从“JavaSE-1.8”更改为“Workspace default JRE”

这些方法都不是理想的,因为我有大量的 Eclipse 项目需要调整,并且希望禁用的引用检查被启用以捕获真正的错误。

请注意,当通过 Eclipse 中包含的标准 Gradle Import 插件导入项目时,这也是一个问题。

有没有办法避免这个问题,也许是通过 Gradle 配置,或者是一个已知的错误/功能将被修复?

0 投票
1 回答
388 浏览

eclipse - 从具有未知根的子项目运行 gradle 任务

我在 gradle 中有一个多项目设置,其结构有点扁平,如下所示:

根项目实际上只是一个根构建。它可以将所有其他项目联系在一起。SubProjectB 依赖于 SubProjectC,C 依赖于 A。

从根项目运行任务按预期工作。我可以运行gradle :SubProjectB:build,它将无错误地构建 SubProjectB 及其依赖项。

我的问题是,如果我尝试从子项目的目录运行任务,如果该子项目依赖于任何其他子项目,它会失败,因为它不知道没有根项目的任何其他子项目在哪里设置文件。因此,从其目录运行 A 的构建会起作用,但运行 B 或 C 会失败。

在这个结构中我可以做些什么来定义根项目实际上是什么,这样如果我从 B 运行,它的行为与从根项目的目录gradle build运行相同?gradle :SubProjectB:build

最终目标是让从命令行使用 gradle 变得更容易,并在子项目中获得功能性默认任务。这样,我应该能够双击项目 Eclipse 的 Gradle 任务列表,并让它运行默认任务,就好像它从 root 运行任务一样。

0 投票
1 回答
157 浏览

eclipse - 无法在 Eclipse Oxygen 4.7.0 build 20170620-1800 中从 v. 2.0.2.v20170420-0909 更新到 Buildship v. 2.1.2.v20170807-1324

我使用 Spring Tool 插件 v. 3.9.0.201707061730-RELEASE 全新安装了 Eclipse Oxygen v. 4.7.0 build 20170620-1800。

我正在尝试将 Buildship 从 v. 2.0.2.v20170420-0909 更新到 v. 2.1.2.v20170807-1324(从 Eclipse 更新弹出窗口中注意到),但出现以下错误:

非常感谢, 问候, 安德里亚

0 投票
0 回答
129 浏览

eclipse - 我的 gradle 依赖有什么问题?

项目结构:

我的test2的settings.gradle文件:

我的test2的build.gradle文件:

当我尝试刷新 gradle 任务时,它在我的 test2 上失败了:

但是当我构建我的test1. 奇怪的是,当我在命令行中运行它时,它运行良好?

我还尝试通过在我的两个项目上运行以下命令来清理项目:

知道我还缺少什么或为什么它失败了吗?