【问题标题】:include one maven project into another maven project using the relative path使用相对路径将一个 Maven 项目包含到另一个 Maven 项目中
【发布时间】:2021-02-08 14:04:53
【问题描述】:

我有 3 个 maven 应用程序。

  • library-module:可复用的通用代码
  • book-application:一个使用来自library-module的类的Web应用程序
  • blog-application:一个 Web 应用程序,它也使用来自 library-module 的类。

以下是模块的 pom:-

....
<!--library-application pom -->
<groupId>com.piyush</groupId>
<artifactId>library-module</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
....
....
<!--book-application pom-->
<groupId>com.piyush</groupId>
<artifactId>book-application</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
....
....
<!--blog-application pom-->
<groupId>com.piyush</groupId>
<artifactId>blog-application</artifactId>
<version>1.0</version>
<packaging>war</packaging>
....

现在我想将 library-application 作为依赖添加到 book-applicationblog-application 作为依赖,如下所示:-

....
<dependency>
    <groupId>com.piyush</groupId>
    <artifactId>library-module</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>
....

现在这里的问题是我希望在编译book-applicationblog-application 之前或期间生成library-application jar。这样我就不必将 jar 添加为提供的依赖项。

【问题讨论】:

    标签: java maven dependency-injection dependencies maven-plugin


    【解决方案1】:

    如果您想在一个构建中构建所有三个工件,您可以构建一个包含三个模块的多模块项目。

    【讨论】:

    • 感谢您的回复,但是多模块的方式恐怕不符合我的要求。这两个模块相互独立,并且具有不同的生命周期。它们之间唯一的共同点就是公共库。
    • 那么你要么需要在 Jenkins 中构建一些东西(一些构建触发),要么你需要一个接一个地手动构建工件。没有 Maven 支持。
    猜你喜欢
    • 2020-12-14
    • 2020-10-10
    • 1970-01-01
    • 2012-09-08
    • 1970-01-01
    • 1970-01-01
    • 2014-02-05
    • 2017-06-03
    • 1970-01-01
    相关资源
    最近更新 更多