我要在运行mvn验证时
在“web/lib`”文件夹中包含从/lib/文件夹到war存档的所有文件
所以我的pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<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>
<groupId>com.myhost</groupId>
<artifactId>sailero</artifactId>
<name>myapp</name>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>com.auth0</groupId>
<artifactId>java-jwt</artifactId>
<version>3.7.0</version>
</dependency>
<dependency>
<groupId>com.host</groupId>
<artifactId>some-lib</artifactId>
<scope>system</scope>
<version>0.0.1</version>
<systemPath>${project.basedir}/lib/some-lib-0.0.1.jar</systemPath>
</dependency>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.2</version>
<configuration>
<configuration>
<packagingIncludes>lib/*.jar</packagingIncludes>
</configuration>
</configuration>
</plugin>在控制台中:
mvn verify但在战争中,不包括 some-lib-0.0.1.jar
在\target\myapp-1.0-SNAPSHOT.war\WEB-INF\lib\ ->中,war中不存在"some-lib-0.0.1.jar",但所有其他依赖项都包括在内。
发布于 2019-05-17 20:50:20
Maven war插件自动将所有项目依赖项复制到WEB/lib中。因此,如果您的war需要依赖项,只需将相关的GAV放入该模块的dependency部分即可。
示例:在pom中,您依赖于:
<dependency>
<groupId>com.auth0</groupId>
<artifactId>java-jwt</artifactId>
<version>3.7.0</version>
</dependency>因此它将自动包含在您的WAR的WEB-INF/lib中。
现在,它在作用域system中的依赖项不是这样工作的,这是这里问题的根本原因。长话短说,这个问题已经在asked/answered这么多了。
总之,我建议摆脱系统依赖,并将其至少放在本地回购中,或者最好放在一些代理中,如Nexus或Artifactory。当然,我们欢迎您测试提供的链接中建议的其他方法。
发布于 2019-05-18 10:27:57
此修复问题:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.2</version>
<configuration>
<webResources>
<resource>
<directory>lib</directory>
<targetPath>WEB-INF/lib</targetPath>
</resource>
</webResources>
</configuration>
</plugin>发布于 2019-05-18 10:52:28
以下是正确的方法:
首先在本地maven repo中安装“install 0.0.1.jar”:
mvn安装:install Dfile=myproject\lib\some 0.0.1 -DgroupId=com.host -DartifactId=some -Dversion=0.0.1 -Dpackaging=jar
pom.xml的第二名
<dependency>
<groupId>com.host</groupId>
<artifactId>some-lib</artifactId>
<version>0.0.1</version>
</dependency>https://stackoverflow.com/questions/56189843
复制相似问题