相关疑难解决方法(0)

Maven模块+构建单个特定模块

我有一个父项目多模块Maven项目P和三个子模块A,BC.这两个BC是战项目,都依赖于A.

我可以输入mvn compileP和拥有所有的子模块正确的编译的.当我想为特定模块执行操作时,问题就来了.

我希望能够为项目打包一个war B,但是当我从B目录运行package命令时,它会抱怨它找不到依赖项A.

我从这个问题中理解:Maven和依赖模块可能Maven并不是真的设计用于这种类型的依赖解析,但这引出了如何打包的问题B

  1. mvn package我真的想要的时候是否必须运行整个项目层次结构B

  2. 每次要打包时,是否必须将A的快照安装到本地存储库中B

A仍处于活跃开发阶段时,第二种情况并不是很有趣.

这里有什么最佳做法?

java build-process maven-2

345
推荐指数
7
解决办法
20万
查看次数

Maven - 如何在父项目的 pom 中添加一个模块作为依赖

我在这个问题中提到了一个情况。

我有一个多模块 Maven 项目,其中包含一个父项目 P 和两个子模块 A 和 B。当我只有 A 作为子模块时,它运行良好。我在主项目中添加了一个新的源文件夹,创建了一个包并添加了一个类(我在这里做错了什么?),我们称之为模块 B。现在我将包 B 中的类导入到包 A 中的类中,但是A 的 pom 没有更新以包含 B 作为依赖项,因此当我尝试 mvn 编译父项目时,它给出了错误未定义符号 B。

  1. 我是否错误地添加了项目 B?因为它里面没有任何 pom 吗?
  2. 如引用的问题中所述,如何在主项目的 pom 文件中添加 B 作为依赖项?

编辑:添加 poms 和代码

这是项目 A 的 pom

<dependencies>
    <dependency>
      <groupId>javax.slee</groupId>
      <artifactId>jain-slee</artifactId>
    </dependency>
    <dependency>
      <groupId>org.mobicents.servers.jainslee.core</groupId>
      <artifactId>fault-tolerant-ra-api</artifactId>
      <version>2.6.0.FINAL</version>
    </dependency>
    <dependency>
      <groupId>org.mobicents</groupId>
      <artifactId>hello-slee-world-sbb</artifactId>
      <version>1.0</version>
    </dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)

现在它提到了 B 的依赖项。这是项目A中B的参考。

import BPackage.*;
Run Code Online (Sandbox Code Playgroud)

这就是我在 A 中使用 B 的方式。

BPackage 中只有一个名为 BClass 的类。现在我问我是否错误地添加了包,即我需要在 maven 添加一些东西吗?以便创建它的 pom 并将其依赖项添加到 A 中。

此外,我想在编译父项时同时构建 B …

eclipse maven m2e

1
推荐指数
1
解决办法
6928
查看次数

标签 统计

build-process ×1

eclipse ×1

java ×1

m2e ×1

maven ×1

maven-2 ×1