我将基于 Maven 的 Spring 应用程序打包为:
mvn install-DskipTests -Peverything.
奇怪的事情出现了。在生成的 jar 的 META-INF 中,我发现重复的 pom.xml 和 pom.properties 文件。有人可以解释一下吗?谢谢。
这是提取的 pom.xml
<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.abc.xyz</groupId>
<artifactId>migrate-app</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>migrate-app</name>
<url>http://maven.apache.org</url>
<dependencies>
..
</dependencies>
<profiles>
<profile>
<id>everything</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.5</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
命令的输出:
mvn -version
Apache Maven 3.0.4 (r1232337; 2012-01-17 15:44:56+0700) Maven 主页:C:\apache-maven-3.0.4\bin.. Java 版本:1.6.0_30,供应商:Sun Microsystems Inc . Java home:C:\Program Files (x86)\Java\jdk1.6.0_30\jre 默认语言环境:en_US,平台编码:Cp1252 操作系统名称:“windows 7”,版本:“6.1”,arch:“x86”,家庭:“窗户”