我有这种依赖(和许多其他人一样):
<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文件夹?
答案 0 :(得分:1)
查看可用的Maven scopes,我希望您将其标记为
<scope>compile</scope>
并将jar文件上传到您的存储库(本地或远程)。 Maven应该为您提供适当的命令行来执行上传。
编辑:如下所述,此范围是默认,因此您可以省略它。
答案 1 :(得分:0)
进入EAR的依赖关系通常应该基于EJB模块所需的依赖关系。如果在编译范围内有一个带有库X的EJB模块,那么这将触发Maven想要将库打包到EJB所属的内容中。无需在耳塞中管理任何示波器。
如果您没有任何EJB且只有WAR,我不会在EAR中打包库,而只是将它们作为WAR的一部分进行部署(因此它们最终会出现在WEB-INF / lib中)。保持Web依赖关系不错并包含在每个模块中,即使这意味着您获得重复项。
此外,compile是默认范围,因此您不需要手动声明它,除非您这样做是为了覆盖依赖项的另一个范围集。
答案 2 :(得分:-2)
所以我找到了将jar库放到ear / lib路径的方法。我已将其<jarModule>
添加到maven-ear-plugin
。同样在每个<jarModule>
我添加了<bundle>
- 这个jar将被复制的路径。