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

智能 IDEA 能否自动用模块依赖项替换 Maven 依赖项?

董良策
2023-03-14

我正在使用Intellij IDEA中的一个Java项目,其中我们有许多内部、独立的Maven依赖项。我将这些依赖项的源代码作为模块导入到我的IDEA项目中,但是当我选择转到-

为了解决这个问题,我需要做以下工作:

  1. 使用内部 Maven 依赖项在模块上打开模块设置
  2. 在“依赖关系”列表中查找并删除内部 Maven 模块
  3. 添加新的模块依赖项,然后选择与内部 Maven 依赖项对应的导入模块

有没有办法让IDEA自动解决这个问题,或者我必须一遍又一遍地做这个手动程序?

共有3个答案

曹钊
2023-03-14

我建议您在本例中错误地使用intellij。如果您将maven依赖项称为intellij模块,它会感到困惑。

你应该:

  1. 将这些maven依赖项更改为maven模块。
  2. 将这些intellij模块作为intellij模块删除并设置您的maven构建,以便您可以从您的maven依赖项下载源代码
郎宣
2023-03-14

假设您有一个 maven 模块 A,其中模块 B 作为依赖项。如果将两个模块都导入到一个 IntelliJ 项目中,则 IntelliJ 将自动使用导入的模块 B 而不是存储库中的 maven 工件 - 但您必须将其作为 maven 模块导入。

如果您随后通过模块A中的IntelliJ运行一些测试或应用程序,它将使用模块B中自己编译的类,而不是存储库中的maven工件,代码中的导航和其他一切都将按预期工作。

如果这不起作用,那么您应该报告错误。

戚奇略
2023-03-14

添加另一个maven项目(不属于主项目)作为依赖项:

  1. 打开你的主项目
  2. 在Maven Projects Tool Window中,单击绿色按钮并选择依赖项的pom.xml
  3. 按要求重复2

来源:https://www . jetbrains . com/idea/help/maven-projects-tool-window . html?search=maven项目

 类似资料:
  • 我已经创建了一个构建。war文件的非常简单的Maven项目。Maven Version3.2.3,Java Version1.7.0_67。pom.xml文件就是这个要点。 如果我运行,那么项目构建良好。但是,如果首先下载所有具有和的依赖项,然后运行进行脱机构建,则会出现如下错误。 我从两种方式创建的。m2/repository文件夹不同,使用依赖插件创建的文件夹缺少许多文件,其中大多数与Plex

  • 我们有一个无法解决依赖关系的maven项目: [错误]无法在项目利马-broor-mule上执行目标:无法解决项目代理的依赖关系:lima-broor-mule:mule:2.0:无法解决以下工件:com.sun.xml.messaging.saaj:saaj-impl:jar:1.3-osgi,mx4j:mx4j-jmx:jar:2.1.1-osgi,mx4j:mx4j-impl:jar:2.1

  • 最近,我发现了以下问题: 当我为我的项目设置依赖项管理时,我有一个child-pom,它使用具有依赖项的插件,我想要与在我的依赖项管理中声明的依赖项同步。 在根pom中,我在依赖项管理中声明: 在子pom中,我有一个插件需要gwt-user: 但是,如果我移除gwt-maven-plugin中使用的依赖版本,编译就会失败。 是不是还有别的办法可以实现呢? PS:在maven和maven插件中有一个

  • 我已经使用Maven在Eclipse中设置了一个动态Web项目。Web项目对其他JAR有很多依赖关系。JAR被正确地添加到Maven/Eclipse中的文件夹中。然而,许多JAR是其他普通Java项目的结果。我想让JAR在Eclipse中不时地用它们的重新定义Java项目来表示(但不是所有的JAR)。 那么,如何用Eclipse项目快速替换普通Maven依赖项JAR呢? null

  • 我有一个多模块maven项目,包含三个模块、和 Core具有以下依赖项定义 我已经为所有三个模块添加了Java9定义,的如下所示: 但是,我不知道如何让的测试类能够在测试执行期间看到类。当尝试测试运行时,找不到类。 如果向的添加需要My.Project.TestUtils;的: 然后在编译时,我得到一个错误,即找不到模块(大概是因为它只是作为测试依赖项引入的)。 在Java9模块化的世界中,如何处

  • 在使用scalatest时,我遇到了一个奇怪的问题。我有一个带有多个模块的maven项目。如果我直接在模块中执行mvn测试。它可以正常工作,但如果在根文件夹中执行,它会抱怨编译时缺少包(依赖项)。 我的配置如下所示: 插件配置: 如果我从maven scala插件中删除目标,它将编译,但scalatest将找不到测试源并退出,并且没有执行任何测试 : 你知道我做错了什么吗?! 干杯