How to Include specific jars in WAR, WEB-INF/lib directory with maven
这是我的pom.xml,试图在WEB-INF / lib目录中创建具有特定3个库的WAR文件。
我将它们包含在
我不能使用
这是什么问题,还是有一种方法可以忽略除3个特定罐子之外的所有罐子?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>1.0</modelVersion> <parent> <groupId>frmId</groupId> frm</artifactId> <version>1.5.9</version> </parent> frmw</artifactId> <packaging>war</packaging> <build> <sourceDirectory>src/main/java</sourceDirectory> <resources> <resource> <directory>src/main/resources</directory> <excludes> <exclude>**/*.java</exclude> </excludes> </resource> </resources> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> maven-compiler-plugin</artifactId> <version>3.2</version> <configuration> <source>1.6</source> <target>1.6</target> </configuration> </plugin> <plugin> maven-war-plugin</artifactId> <version>2.3</version> <configuration> <warSourceDirectory>src/main/webapp</warSourceDirectory> <packagingIncludes>WEB-INF/lib/frm-fl*.jar,WEB-INF/lib/frm-bean*.jar,WEB-INF/lib/frm-facade-${ffm.fpi.version}.jar</packagingIncludes> <failOnMissingWebXml>false</failOnMissingWebXml> </configuration> </plugin> <plugin> <groupId>com.fortify.ps.maven.plugin</groupId> sca-maven-plugin</artifactId> <version>${maven-sca-plugin.version}</version> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>com.fi.ps</groupId> frmc-fl</artifactId> <version>${project.version}</version> </dependency> </dependencies> |
您只需要放入3个特定的库作为项目的依赖项,并且maven会在打包阶段将其放到WEB-INF / lib上
更新:
要从依赖项中排除JAR来,您必须使用这种语法
1 2 3 4 5 6 7 8 9 10 11 | <dependency> <groupId>sample.ProjectA</groupId> Project-A</artifactId> <version>1.0</version> <exclusions> <exclusion> <!-- declare the exclusion here --> <groupId>sample.ProjectB</groupId> Project-B</artifactId> </exclusion> </exclusions> </dependency> |
并排除所有子依赖项(仅适用于Maven 3):
1 2 3 4 5 6 | <exclusions> <exclusion> <groupId>*</groupId> *</artifactId> </exclusion> </exclusions> |
更新2
使用maven-war-plugin您应该将WEB-INF / classes / **添加到PackagingIncludes
1 2 3 4 5 6 7 8 9 | <plugin> maven-war-plugin</artifactId> <version>2.3</version> <configuration> <warSourceDirectory>src/main/webapp</warSourceDirectory> <packagingIncludes>WEB-INF/lib/frm-fl*.jar,WEB-INF/lib/frm-bean*.jar,WEB-INF/lib/frm-facade-${ffm.fpi.version}.jar,WEB-INF/classes/**></packagingIncludes> <failOnMissingWebXml>false</failOnMissingWebXml> </configuration> </plugin> |