maven - 如何强制 intelliJ 将带有分类器的 maven 依赖项导入为 "Maven Library"而不是 "Intellij Module"

标签 maven intellij-idea

在我基于 Maven 的 IntelliJ 项目中,我有 2 个模块 - 模块 A 和 B。

  • 模块 A 的 pom.xml 创建了一个 uber jar(包括项目无法访问的依赖项)并将其作为带有分类器“withdeps”的 Artifact 附加到
  • 模块 B 的 pom.xml 依赖于分类的“withdeps” Artifact A

  • 当我导入 maven 模块时,IntelliJ 在模块 B 的依赖项中添加模块的 A 源代码(忽略“withdeps”分类器)。

    是否可以强制 Intellij 将模块 A 依赖项添加到 B 作为“maven 库”而不是默认的“项目源代码/Intellij 模块”?如果不是,我该怎么做才能解决 IntelliJ 中的编译错误(Ctrl+F9)

    谢谢

    最佳答案

    只有在创建intellij项目时才打开模块B的pom.xml。然后所有依赖项都将作为 Maven 依赖项。

    不利的一面是,这样您必须在另一个窗口中将模块 A 作为单独的项目打开,然后当您更改某些内容时,您必须执行 mvn install 并刷新项目 B。

    更好的解决方案是将所有依赖项安装到 maven 存储库中,描述 here in maven docs .

    关于maven - 如何强制 intelliJ 将带有分类器的 maven 依赖项导入为 "Maven Library"而不是 "Intellij Module",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22121668/

    相关文章:

    maven - Jenkins Maven 代理 - 无法下载依赖项

    android - Android无法同时识别多个按钮

    java - Jmeter采样器看不到资源文件

    intellij-idea - 如何跳转到项目树中的下一个搜索结果?

    java - 线程中的异常 "main"java.lang.NoSuchMethodError : org. slf4j.impl.StaticLoggerBinder.getSingleton()Lorg/slf4j/impl/StaticLoggerBinder

    java - 如何增加应用程序可执行 jar 文件中的 JVM 堆大小?项目类型为Maven项目

    java - Fedora 上的 Intellij IDEA

    java - 简单的 JavaEE HTML GET/POST 应用程序

    java - 如何修复maven项目中的 'BanDuplicateClasses failed'

    java - 如何从 .jar 文件中读取 PDF