Maven中settings.xml与pom配置冲突
(重定向自Maven中settings.xml与pom)
跳到导航
跳到搜索
settings.xml 中的配置文件元素是 pom.xml 配置文件元素的截断版本。 它由 activation、repositories、pluginRepositories 和 properties 元素组成。 配置文件元素仅包括这四个元素,因为它们关注整个构建系统(这是 settings.xml 文件的作用),而不是单个项目对象模型设置。
如果配置文件在设置中处于活动状态,则其值将覆盖 POM 或 profiles.xml 文件中任何等效 ID 的配置文件。
https://maven.apache.org/settings.html#Profiles
比如:
settings.xml
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 http://maven.apache.org/xsd/settings-1.2.0.xsd">
……
<profiles>
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
</profiles>
……
就会覆盖项目中pom.xml的相关配置:
……
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
……