java - 如何在依赖项目上强制安装maven?

标签 java eclipse maven dependencies

我有项目 B,它依赖于项目 A。

在项目 B 的 pom.xml 文件中,我已将 A 依赖项声明为:

<dependency>
   <groupId></groupId>
   <artifactId>A</artifact>
   <version>1</version>
   <scope>compile</scope>
</dependency>

但是每次我对项目 A 进行任何更改时,我都必须在 eclipse 上运行 maven install,以将该项目安装到我的用户的存储库中。

如何确保项目 A 在项目 B 构建和运行之前构建并安装?

最佳答案

使用带有 Packaging=pom 的模块来控制整个构建。在另一个 Eclipse 项目中,将其称为顶级,具有以下 pom:

<project xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId></groupId>
    <artifactId>top-level</artifactId>
    <version>1</version>
    <packaging>pom</packaging>

    <modules>
        <module>../A</module>
        <module>../B</module>
    </modules>
</project>

然后在此 pom.xml 上执行您的 Maven 操作(清理、安装等)。 Maven 将找出处理模块的正确顺序。

警告:Maven 使用文件系统来访问 A 和 B 的相对 pom 位置。只有当所有三个项目都位于同一根目录下(Eclipse 工作区根目录、git repo 根目录等)时,这才有效。 .)

关于java - 如何在依赖项目上强制安装maven?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23396169/

相关文章:

java - 数据库-JTable交互

java - 重构jar包

java - Java中的ArrayList只打印List中的最后一个对象

android - M2e - 生命周期未涵盖的插件执行

java - 缩短 CheckStyle 的控制台日志

maven-in-5-min-not-working,不可解析的 POM 错误

java - Runtime.exec().waitFor() 不会等到进程完成

java - 如何使用 Guava 将可能的空值转换为默认值?

java - Mac OSX 上 VM 中的 Oracle Database 12c

eclipse - 使用 Subclipse 将 Eclipse 项目重新连接到 SVN