【问题标题】:Is it possible to build a "sub jar" of a Maven project?是否可以构建 Maven 项目的“子 jar”?
【发布时间】:2017-02-14 19:00:20
【问题描述】:

我现在有一种情况:

使用 Maven 程序集插件内置到胖 jar 中的项目 A。

使用项目 A 中内置的 jar 的项目 B。它作为资源添加到项目中,并使用流程构建器在单独的流程中启动。

我想知道是否可以仅使用一个 Maven 项目来实现类似的行为。即构建仅包含项目 A 所需的类和依赖项的 jar,然后使用预构建的 jar 构建项目的其余部分。

对不起,如果我在这里不是很清楚。

【问题讨论】:

    标签: maven jar maven-assembly-plugin maven-jar-plugin


    【解决方案1】:

    这与 Maven 的一些核心概念背道而驰:

    • 一个项目,一个模型 (POM)。两个项目(A、B),两个模型(POM)。
    • 在 POM 中有一个 artifactId。应该命名的第二个工件 (jar) 是什么?
    • 一个项目导致一个工件。在同一个项目中没有构建额外的“prebuilt jar”。
    • 依赖项适用于整个项目(以及可能的子模块项目)。我不知道如何“仅包含项目 A 所需的类和依赖项”。
    • 工件被存储:

      • 暂时在<project>/target
      • 在本地 Maven 存储库中(默认:~/.m2/repository
      • 可能在远程 Maven 存储库中


      ...而在构建期间从<project>/src/main/resources获取资源。

    如果仔细考虑的话,可能会有一些棘手的解决方案(也可能存在陷阱)来实现这一目标。但我永远不会推荐这样的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-13
      • 1970-01-01
      • 2016-10-14
      • 1970-01-01
      • 1970-01-01
      • 2011-08-05
      • 2010-12-26
      • 2014-01-15
      相关资源
      最近更新 更多