Netbeans 使用 pom.xml (Maven) 而不是 build.gradle (Gradle)

Posted

技术标签:

【中文标题】Netbeans 使用 pom.xml (Maven) 而不是 build.gradle (Gradle)【英文标题】:Netbeans to use pom.xml (Maven) instead of build.gradle (Gradle) 【发布时间】:2020-01-31 23:34:11 【问题描述】:

我们的团队有一个 Netbeans 11.0 项目,该项目(在根级别)包含 pom.xml 文件和 build.gradle 文件。在 Netbeans 中打开项目时,它假定它是一个 Gradle 项目并将其视为此类。但是默认应该是作为 Maven 项目打开,允许 pom.xml 优先。

Netbeans 中是否有任何配置会告诉它这是一个 Maven 项目(使用 pom.xml 文件)并将其视为这样?

(注意,如果我们关闭项目,暂时删除 build.gradle 文件,然后在 Netbeans 中重新打开,它确实像 Maven 项目一样打开)

【问题讨论】:

在 Netbeans 中将项目导入为 Maven 项目。检查此链接。 ***.com/questions/20846641/… [1] 您希望项目是 Maven 项目还是 Gradle 项目?如果答案是“两者”,请解释原因,因为这将是一个非常不寻常的要求。如果您正在从 Maven 过渡到 Gradle(反之亦然),那么只需分支您的项目。即使看起来一切正常,拥有两种配置的项目也只是自找麻烦。 [2] 无论如何,暂时删除 build.gradle 文件似乎是不必要的激烈。为什么不直接重命名它(例如 build.gradlex)以便将其忽略而不是删除它? 感谢大家的回复! @skomisa [1] 在 NetBeans 中打开它的任何人都应该将其作为 Maven 项目引用,其他开发人员(在不同的 IDE 中)更喜欢 Gradle 构建过程;这可能看起来很奇怪,但它允许我们的工程师使用他们是专家的工具。[2] 我们目前已经这样做了,但这仍然意味着每次为 Gradle 构建重命名它很烦人 :) 好吧,你的动机有点道理,虽然我以前从未遇到过这个要求。但是,如果您的团队需要在使用 gradle 和 maven 之间切换,那么重命名 gradle.build 似乎与任何其他方法一样简单。 Maven 开发人员无需做任何事情,而 gradle 开发人员将重命名 build.gradlex。您显然必须更改 something 以强制 NetBeans 在 maven 或 gradle 之间进行选择,并且您不应该真正弄乱仅供 NetBeans 内部使用的配置数据。如果你有一根魔法棒来解决这个问题,你的解决方案是什么? 再次感谢您的回复。我希望对于 NetBeans 项目,您可以告诉 NetBeans 该项目是 Maven 还是 Gradle,而不是仅仅推断其中一个(在这种情况下,它似乎选择了错误的 Gradle)。 【参考方案1】:

现在在较新的版本上(此处使用 12),在 Tools/Options/Java/Gradle 中存在一个复选框“Prefer Maven Projects over Gradle(需要重新启动)”,检查它,您就有了解决方案。

【讨论】:

【参考方案2】:

如果项目中同时存在 pom.xmlbuild.gradle 文件,Netbeans 11 和更高版本似乎会将项目视为 gradle。

我遇到了同样的问题,但找不到告诉 Netbeans 我想将我的项目视为 maven 而不是 gradle 的选项。

解决方案是(正如@skomisa 评论的那样)将 build.gradlesettings.gradle 重命名为 build.gradle_disabled 之类的其他名称,settings.gradle_disabled 然后 Netbeans 会将您的项目视为 maven

【讨论】:

【参考方案3】:

我设法说服 netbeans 11 使用我的 pom.xml 的唯一方法: 关闭项目,关闭netbeans。 清理缓存文件夹(在 Linux 中:~/.cache/netbeans/11.0) 重启netbeans,重新打开项目。

【讨论】:

以上是关于Netbeans 使用 pom.xml (Maven) 而不是 build.gradle (Gradle)的主要内容,如果未能解决你的问题,请参考以下文章

Pom.xml 项目构建错误

如何在 pom.xml 文件中指定 Java 编译器版本?

如何在 pom.xml 文件中指定 Java 编译器版本?

如何在 pom.xml 文件中指定 Java 编译器版本?

eclipse mave 配置启动报错

Maven pom.xml中添加指定的中央仓库