我有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中可以看到相同的类文件。
在另一个帖子上找到了答案。https://stackoverflow.com/a/11545441/639107
快照依赖关系通过项目源位置解决
<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