【问题标题】:Adding JAR from local to the WAR packing using Maven使用 Maven 将 JAR 从本地添加到 WAR 打包
【发布时间】:2014-12-27 16:48:57
【问题描述】:
我在 maven 项目中有一个 lib 文件夹。我将每个 jar 添加到依赖项中,例如,
<dependency>
<groupId>abcd</groupId>
<artifactId>abcd</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${basedir}/lib/abcd.jar</systemPath>
</dependency>
将项目打包到 war 时,这些 jar 不会被捆绑在 'WEB-INF/lib'
请有人帮我解决这个问题。
【问题讨论】:
标签:
java
maven
jar
dependencies
war
【解决方案1】:
这里是“系统”范围的描述:
此范围类似于提供的范围,只是您必须提供明确包含它的 JAR。工件始终可用,不会在存储库中查找。
这意味着,maven 假定此依赖项已经存在于目标系统中,并且不会随您的 WAR 文件一起提供。
您可以将库添加到本地存储库。
这里是一个例子:
mvn install:install-file -Dfile=<path-to-your-jarfile> -DgroupId=abcd -DartifactId=abcd -Dversion=1.0 -Dpackaging=jar
完成后,您添加范围为“编译”的依赖项:
<dependency>
<groupId>abcd</groupId>
<artifactId>abcd</artifactId>
<version>1.0</version>
<scope>compile</scope>
</dependency>