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

在Maven IntelliJ项目中声明依赖项的多种方式

方子安
2023-03-14

在IntelliJ中的新Maven项目中,我看到了2种声明新依赖项的方法:

  1. 手动编辑pom.xml文件,添加

这似乎是不必要的行为。IntelliJ在导入pom.xmlMaven文件时不会覆盖. iml文件,而是合并来自pom.xml的依赖项和来自. iml的额外定义的依赖项。

我想在我的团队中强制执行添加依赖项的单一方法(仅使用pom.xml,用于外部mvn构建),并且绕过pom.xml并直接将依赖项添加到. iml的能力会产生有效构建的错觉(事实上,它不是)。

我错过了什么吗?我如何强制一种添加依赖项的方法?有没有一种方法可以让IntelliJ将依赖项添加到pom.xml文件中,而不是。iml文件?

在这个问题中(IntelliJ IDEA Maven,iml文件中的依赖项需要什么?)据称:

这也可以用于试验依赖项,而无需更改 pom.xml。请注意,您所做的所有修改都将在下次导入 Maven 时还原。

但这不是我看到的行为。.iml 文件不会被还原,而是被合并。


共有2个答案

黄昊
2023-03-14
匿名用户

< code>Pom.xml仅供Maven使用,如果您正确配置了IDE,IntelliJ会从< code>pom.xml中获取依赖项。但是,如果您想单独使用maven,可以将jar添加到本地maven repo中,然后通常通过< code >从< code>pom.xml中调用它们

您可以在此处了解如何添加本地 jar。

宿洋
2023-03-14

听起来你需要一个持续的集成环境。

这不会阻止您的团队成员在错误的地方添加依赖项,但它会确保很早就发现,并标记出他们需要将其添加到pom中,然后就归结为教育。

 类似资料:
  • 我已经在NetBeans8.1中创建了5个不同的Java SE项目。我想创建一个新的项目,该项目带有一个介绍窗口,该窗口带有链接/打开链接到该按钮的项目的按钮,并从该窗口创建一个软件。 我已经在主项目->Properties->Library->Compile->Add Project中添加了依赖项(其他项目的jar文件)。 当我在netbeans中运行它们时,运行窗口打开了,但是当我从主项目中调

  • 在之前提到的多项目配置中,:libraries:lib1 和 :libraries:lib2 可以是 Java 项目,并且 :app 这个 Android 项目将会使用它们输出的 jar 包。然而,如果你想这部分代码能够访问 Android APIs 或者使用 Android 的资源,那么这些 Library 项目就不能是 Java 项目,只能是 Android Library 项目。

  • Gradle 项目可以通过多项目配置依赖于其它 Gradle 项目。通常使用多项目配置会将所有库项目(如 lib1、lib2)添加到指定的根项目(如 libraries)。例如,给定以下项目结构: MyProject/ + app/ + libraries/ + lib1/ + lib2/ 我们可以找出3个项目。Gradle 将会按照以下名字进行映射: :app :librar

  • 我有一个Python项目,它不包含<code>requirements.txt</code>。但它有一个<code>pyproject。toml</code>文件。 如何使用Pip包管理器(而不是构建工具诗歌)下载该Python项目所需的并在< code>pyproject.toml中声明的包(依赖项)? 因此,代替

  • Gradle 项目可以依赖于其它组件,这些组件可以是外部二进制包,或者是其它的 Gradle 项目。