0

我有这种依赖(以及许多其他类似的):

<dependency>
    <groupId>jShrink</groupId>
    <artifactId>jShrink</artifactId>
    <version>3.0.2</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/../kladr-ear/lib/jShrink-3.0.2.jar</systemPath>
</dependency>

那么如何在打包时使用 MAVEN 将此 JAR 添加到 EAR/LIB 文件夹中呢?

4

3 回答 3

1

查看可用的 Maven范围,我希望您将其标记为

<scope>compile</scope>

并将 jar 文件上传到您的存储库(本地或远程)。Maven 应该为您提供适当的命令行来执行该上传。

编辑:如下所述,此范围是default,因此您可以省略它。

于 2012-11-20T10:40:31.507 回答
0

进入 EAR 的依赖项通常应该基于 EJB 模块所需的依赖项。如果您在编译范围内有一个带有库 X 的 EJB 模块,那么这将触发 Maven 想要将该库打包到 EJB 所属的耳朵中。无需在耳机中管理任何范围。

如果您没有任何 EJB 而只有 WAR,我不会在 EAR 中打包库,而只是将它们部署为 WAR 的一部分(因此它们最终位于 WEB-INF/lib 中)。保持良好的网络依赖关系并包含在每个模块中,即使这意味着您会得到重复。

compile 也是默认范围,因此您不需要手动声明它,除非您这样做是为了覆盖为依赖项设置的另一个范围。

于 2012-11-20T11:44:55.180 回答
-2

所以我找到了将 jar 库放入 ear/lib 路径的方法。我已将它们添加<jarModule>maven-ear-plugin. 同样在<jarModule>我添加的每个<bundle>- 将复制此 jar 的路径。

于 2012-11-22T09:36:51.270 回答