我正在使用以下配置来复制maven中的系统依赖项。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.8</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/lib</outputDirectory>
<includeScope>system</includeScope>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
</plugin>
关于“mvn包目标”,奇怪的事情正在发生。
我可以在maven-dependency-plugin中配置的“$ {project.build.directory} / $ {project.build.finalName} / WEB-INF / lib”目标目录中看到所有系统依赖项。但是war文件中缺少这些依赖项。
有人可以分享想法吗?
答案 0 :(得分:1)
尝试像这样配置maven-war-plugin
:
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<packagingIncludes>WEB-INF/lib/*.jar</packagingIncludes>
</configuration>
</plugin>
如果没有帮助,那么我猜Kristoffer E是对的:在复制依赖项之前打包你的war。在这种情况下,您应该将package
中的相位从process-sources
更改为maven-dependency-plugin
,以便更早执行。