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

intellij多模块项目将模块添加为依赖项而不是它的jar

公西俊民
2023-03-14

我有2个maven项目A和B。
B对A的胖jar有一个maven编译时依赖项。

在将B作为maven项目导入时,a作为模块依赖项而不是目标jar添加。

有没有办法禁用此功能?

B的pom。xml(依赖项部分)

<代码>

A的pom.xml(工件细节):

<代码>

问题:

这两个是Intellij项目中的模块。无论我以何种方式导入它们,项目B的依赖项列表都将项目A显示为模块依赖项,而不是项目A的jar的快照(或特定版本)。

正因为如此,每当我尝试在Project B上打包/安装时,我都会看到A中的一些帮助类的ClassNotFind。

为项目B编译日志:

Error:(21, 40) java: cannot find symbol
symbol:   class ImmutableMap
location: package org.xxx.yyy.zzz

Error:(22, 40) java: cannot find symbol
symbol:   class ImmutableSet
location: package org.xxx.yyy.zzz

在A的SNAPSHOT jar中可以看到相同的类文件。

共有2个答案

谭高峯
2023-03-14

在另一个帖子上找到了答案。https://stackoverflow.com/a/11545441/639107

快照依赖关系通过项目源位置解决

李联
2023-03-14
<dependency>
 <groupId>com.xxx.yyy</groupId>
 <artifactId>A</artifactId>
 <version>trunk-SNAPSHOT<version>
</dependency>

您是否可以尝试将版本添加到B'pom.xml然后,mvn干净安装

 类似资料:
  • 问题内容: 我试图弄清楚Maven多模块项目中的所有依赖项。首先,我使用appfuse创建了一个新的spring mvc多模块项目。它最初具有Web和核心模块。 我发现了部署此项目的知识。但是当我遇到错误时。我总是在哪里添加依赖项或插件感到困惑。我想澄清以下问题。 我创建了一个appfuse mvc多模块项目。我先安装了核心,然后在网上进行了maven jetty7:run(最初我在根文件夹上运行

  • 问题内容: 使用IntelliJ 2016.2。 使用Gradle 2.14.1 我有2个项目,每个项目都有自己的build.gradle文件和单独的目录结构: 希望您能明白。在IntelliJ中,我具有以下相同级别的模块结构(无子项目): 简单的请求…我想在应用程序内使用。我要在同一个项目中同时开发两个模块。 我尝试在IntelliJ中为添加模块依赖关系。没有骰子。我尝试添加一个jar参考,没有

  • 问题内容: 我有一个关于Bitbucket的项目。仅提交源。为了将项目检索到新机器上,我在IntelliJ中使用了Version Control> Checkout from Version Control。 然后,它询问我是否要从该源创建一个新项目,对此我回答“是”。到目前为止,一切都很好。它为我创建了一个不错的Java小项目,由一个模块组成。 但是,将这个项目引入IntelliJ的目的是将其变

  • 我有一个多模块Maven项目,有模块“app”和“域”。应用依赖于域。域模块有公共和私有代码。公共代码在包中。 在Domain模块的pom中,我添加了maven jar插件的执行,该插件使用分类器“api”(仅包含公共类)生成一个额外的项目工件。 在应用程序模块中,我在域模块上添加了一个“运行时”范围的依赖项(因此所有类都存在于运行时),并在分类的“API”上添加了编译时范围的依赖。这是为了确保应

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

  • 我有这个项目https://github.com/andreacatania/libreria 它有三个模块“deWeb”“decore”“libreriaear” 模块libreriaEar创建了一个带有deweb和decore模块的EAR存档。我试图将Hibernate使用到模块“decore”中,但maven没有将依赖项导入到“decore”模块中,因此我收到了NoClassFoundExc