-1

我的应用程序结构:我的项目(让我们说 AAA)包装为 JAR。项目 AAA 添加依赖于 Web 项目 BBB 和 CCC 的 BBB 反过来模块,这是一个 EAR。

在进行 AAA 项目 maven 构建时,maven 不包括依赖 jar 作为打包的一部分,当我部署 ear 包时,部署最终会失败。

问题

1)如何使公共库在父项目和子项目之间共享以避免重复 2)如何在 maven 构建期间包含单个项目库(这不常见)

4

1 回答 1

1

maven 中的默认设置是只打包实际模块中的类文件,而不是依赖的 jar。如果您想创建一种 ueber-jar,这可以通过使用maven-shade-plugin来实现,但这不是通常的用例。如果您尝试创建一个耳朵,那么所有 jar 都将被打包,否则您的配置不正确,或者您没有使用 maven-ear-plugin,或者您的包装未定义为“ear”。

如果您想共享一个库,我们在多模块构建中将其称为 common,最简单的解决方案是创建如下结构:

  +-- root (pom.xml)
       +-- module-1 (pom.xml)
       +-- module-2 (pom.xml)
       +-- common (pom.xml)

例如,您在 module-1 或任何其他将使用 common 模块作为依赖项的模块中将 common 定义为依赖项。你可以看看这个例子

于 2012-04-17T17:45:03.630 回答