如何通过删除核心jar来使用war中的自定义.jar文件,该war由maven依赖项覆盖
我有一个Maven3WebApp(war)项目,它有3个依赖项。战争依赖性是(我无法控制的第三方lib)—— httpclient-4..jar httpcore-4..jar httpcore-nio-4.*.jar 第三方war依赖项依赖于其定义的http版本,这与我需要使用的更高版本冲突 以下步骤发生在我的应用程序打包过程中 我的http jar被复制到/WEB-INF/lib/ 上面还包含http的.war依赖项是在我的目标上构建和覆盖的 最终的.war文件是从目标创建的 在这里,我成功地排除/删除了早期版本的http,但现在我想添加我自己的上述JAR的依赖版本,如: httpclient-4.5.6.jar httpcore-4.3.jar httpcore-nio-4.3.jar 当战争试图打包我的变更等级时,我如何复制,该等级将不包含第三方prev。版本 My pom.xml:如何通过删除核心jar来使用war中的自定义.jar文件,该war由maven依赖项覆盖,maven,package,war,dependency-management,Maven,Package,War,Dependency Management,我有一个Maven3WebApp(war)项目,它有3个依赖项。战争依赖性是(我无法控制的第三方lib)—— httpclient-4..jar httpcore-4..jar httpcore-nio-4.*.jar 第三方war依赖项依赖于其定义的http版本,这与我需要使用的更高版本冲突 以下步骤发生在我的应用程序打包过程中 我的http jar被复制到/WEB-INF/lib/ 上面还包含http的.war依赖项是在我的目标上构建和覆盖的 最终的.war文件是从目标创建的 在这里,我成功
<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>4.0.0</modelVersion> <parent> <groupId>com.fit.check.plan.test</groupId> <artifactId>ui-cust</artifactId> <version>10.2.0.0.0-test</version> <relativePath>../</relativePath> </parent>
<properties> <sharedlib.name>ui-shared-lib</sharedlib.name> <sharedlib.vendor>TEST UI</sharedlib.vendor> <atmosphere-version>2.2.0</atmosphere-version> <spec-version>10.2.0.0.0</spec-version> <epc.version>9.1</epc.version> <sonar.skip>true</sonar.skip> </properties>
<artifactId>ui-shared-test-lib</artifactId> <packaging>war</packaging>
<build> <finalName>ui-shared-lib</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.8</version> <executions>
<execution>
<id>unpack-shared-lib-war</id>
<phase>validate</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>com.fit.check.plan.fe</groupId>
<artifactId>ui-shared-lib</artifactId>
<version>${plan.version}</version>
<type>war</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}/ui-lib-test</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.8</version> <executions>
<execution>
<id>copy-test-ui-lib-jar</id>
<phase>validate</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>${test.test.groupId}</groupId>
<artifactId>implementation-interfaces</artifactId>
<version>${test.test.version}</version>
<type>jar</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}/ui-lib-test/WEB-INF/lib</outputDirectory>
<destFileName>implementation-interfaces.jar</destFileName>
</artifactItem>
<artifactItem>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>${artifact.findbugs-jsr305.version}</version>
<type>jar</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}/ui-lib-test/WEB-INF/lib</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>com.fit.check.TEST</groupId>
<artifactId>TEST-context-store-ws</artifactId>
<version>${TEST.version}</version>
<classifier>clientkit</classifier>
<type>jar</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}/ui-lib-test/WEB-INF/lib</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>com.fit.check.plan.test</groupId>
<artifactId>test-activities-lib</artifactId>
<version>${test.test.version}</version>
<type>jar</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}/ui-lib-test/WEB-INF/lib</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>com.fit.check.plan.test</groupId>
<artifactId>test-core-lib</artifactId>
<version>${test.test.version}</version>
<type>jar</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}/ui-lib-test/WEB-INF/lib</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>com.fit.check.cell</groupId>
<artifactId>security-service-war</artifactId>
<version>${TEST.version}</version>
<classifier>clientkit</classifier>
<type>jar</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}/ui-lib-test/WEB-INF/lib</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>com.fit.check.cell</groupId>
<artifactId>aff-war</artifactId>
<version>${TEST.version}</version>
<classifier>clientkit</classifier>
<type>jar</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}/ui-lib-test/WEB-INF/lib</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>com.fit.check.plan.test</groupId>
<artifactId>common-groovy-api</artifactId>
<version>${test.test.version}</version>
<type>jar</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}/ui-lib-test/WEB-INF/lib</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>com.fit.check.plan.test</groupId>
<artifactId>task-util-service-ws</artifactId>
<version>${test.test.version}</version>
<classifier>clientkit</classifier>
<type>jar</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}/ui-lib-test/WEB-INF/lib</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>com.fit.check.TEST</groupId>
<artifactId>TEST-services-war</artifactId>
<version>${TEST.version}</version>
<classifier>clientkit</classifier>
<type>jar</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}/ui-lib-test/WEB-INF/lib</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>com.fit.check.plan.test</groupId>
<artifactId>test-core-override</artifactId>
<version>${test.test.version}</version>
<type>jar</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}/ui-lib-test/WEB-INF/lib</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions> </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<warName>ui-shared.war</warName>
<outputFileNameMapping>@{artifactId}@-@{baseVersion}@@{dashClassifier?}@.@{extension}@</outputFileNameMapping>
<failOnMissingWebXml>false</failOnMissingWebXml>
<archive>
<manifest>
<addDefaultImplementationEntries>false</addDefaultImplementationEntries>
</manifest>
<compress>true</compress>
<manifestEntries>
<Specification-Title>${sharedlib.name}</Specification-Title>
<Specification-Version>${spec-version}</Specification-Version>
<Implementation-Title>${sharedlib.name}</Implementation-Title>
<Implementation-Vendor>${sharedlib.vendor}</Implementation-Vendor>
<Extension-Name>${sharedlib.name}</Extension-Name>
</manifestEntries>
</archive>
<warSourceDirectory>${project.build.directory}/ui-lib-test</warSourceDirectory>
<packagingIncludes>WEB-INF/lib/*.jar</packagingIncludes>
<packagingExcludes>
<![CDATA[WEB-INF/lib/slf4j-log4j12*.jar,
WEB-INF/lib/amf_toolkit-9.0.0.pb00_hf02.jar,
WEB-INF/lib/commons-beanutils-1.9.2.jar,
WEB-INF/lib/commons-fileupload-1.3.3.jar,
WEB-INF/lib/httpclient-4.1.2.jar,
WEB-INF/lib/httpcore-4.2.4.jar,
WEB-INF/lib/httpcore-nio-4.2.4.jar]]>
</packagingExcludes>
</configuration>
</plugin>
</plugins> </build> </project>
4.0.0 com.fit.check.plan.test ui cust 10.2.0.0.0-test../
ui共享库测试ui 2.2.0 10.2.0.0.0 9.1 true
ui共享测试库war
ui共享库org.apache.maven.plugins maven依赖插件2.8
解包共享解放战争
验证
打开
com.fit.check.plan.fe
用户界面共享库
${plan.version}
战争
真的
${project.build.directory}/ui库测试
插件maven依赖插件2.8
复制测试ui库jar
验证
复制
${test.test.groupId}
实现接口
${test.test.version}
罐子
真的
${project.build.directory}/ui-lib-test/WEB-INF/lib
实现-interfaces.jar
com.google.code.findbugs
jsr305
${artifact.findbugs-jsr305.version}
罐子
真的
${project.build.directory}/ui-lib-test/WEB-INF/lib
com.fit.check.TEST
测试上下文存储ws
${TEST.version}
客户套件
罐子
真的
${project.build.directory}/ui-lib-test/WEB-INF/lib
com.fit.check.plan.test
测试活动库
${test.test.version}
罐子
真的
${project.build.directory}/ui-lib-test/WEB-INF/lib
com.fit.check.plan.test
测试核心库
${test.test.version}
罐子
真的
${project.build.directory}/ui-lib-test/WEB-INF/lib
com.fit.check.cell
安全服务战争
${TEST.version}
客户套件
罐子
真的
${project.build.directory}/ui-lib-test/WEB-INF/lib
com.fit.check.cell
aff战争
${TEST.version}
客户套件
罐子
真的
${project.build.directory}/ui-lib-test/WEB-INF/lib
com.fit.check.plan.test
通用groovy api
${test.test.version}
罐子
真的
${project.build.directory}/ui-lib-test/WEB-INF/lib
com.fit.check.plan.test
任务util服务ws
${test.test.version}
客户套件
罐子
真的
${project.build.directory}/ui-lib-test/WEB-INF/lib
com.fit.check.TEST
测试服务战争
${TEST.versi