我的WEB项目中的第三方jar位于/src/main/webapp/WEB-INF/lib/
我已经在 pom.xml 中提到了所有必需 JAR的依赖关系。
现在,由于依赖关系是在POM中定义的,JAR将自动打包在lib
文件夹中。
lib
。 我无法从WEB-INF中删除LIB
,因为它用于本地开发
这是我到目前为止所尝试的:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<packagingExcludes>META-INF/context.xml</packagingExcludes>
<webResources>
<resource>
<directory>src/main/webapp/WEB-INF/lib</directory>
<excludes>
<exclude>**/**</exclude>
</excludes>
</resource>
</webResources>
</configuration>
</plugin>
任何想法?
答案 0 :(得分:6)
它应该是&#34; packagingExcludes&#34;而不是&#34; warSourceExcludes&#34;:
<configuration>
<packagingExcludes>WEB-INF/lib/*.jar</packagingExcludes>
....
</configuration>
来自http://maven.apache.org/plugins/maven-war-plugin/examples/skinny-wars.html:
在版本2.1-alpha-1中,这被错误地命名为warSourceExcludes
答案 1 :(得分:2)
试试这个:
<configuration>
<warSourceExcludes>WEB-INF/lib/*.jar</warSourceExcludes>
....
</configuration>
但是,我同意Jarrod的说法,将您的罐子手动存储在WEB-INF/lib
中是不好的做法。之前我用过这个来避免那些罐子因为依赖包被打包后能够重新包装它。
答案 2 :(得分:1)
您的WEB-INF/lib
目录中不应该包含任何内容。如果您正在使用Eclipse,您可以告诉它从pom.xml
构建其项目,并且它将知道在~/.m2/repository
中查找依赖项,Intellij IDEA也会这样做。将依赖项放在WEB-INF/lib
类中会使使用Maven进行依赖项管理失败。当pom.xml
中的依赖项与WEB-INF/lib