是否可以构建Maven项目的“子jar”?

时间:2017-02-14 19:00:21

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

我现在遇到的情况是:

项目A使用Maven程序集插件构建到胖jar

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

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

很抱歉,如果我在这里不是很清楚。

1 个答案:

答案 0 :(得分:1)

这违反了Maven的一些核心概念:

  • 一个项目,一个模型(POM)。两个项目(A,B),两个模型(POM)。
  • POM中有一个@-webkit-keyframes border-pulse-2 { 0% { border-width: 3px; } 33.33333% { border-width: 3px; } 66.66666% { border-width: 23px; } 100% { border-width: 23px; } } 。什么是应该命名的第二个工件(artifactId)?
  • 一个项目导致一个工件。在同一个项目中没有额外的“预建jar ”。
  • 依赖关系适用于整个项目(以及可能的子模块项目)。我不知道如何“只包含项目A 所需的类和依赖项。”
  • 存储工件:

    • jar暂时
    • 在本地Maven存储库中(默认值:<project>/target
    • 可能位于远程Maven存储库中


    ...虽然资源是在​​构建期间从~/.m2/repository获取的。

如果彻底考虑这个问题,可能会有一些棘手的解决方案(也可能存在陷阱)。但我永远不会推荐这样的。