maven配置文件详解
settings.xml
本篇文章主要对maven中setting.xml配置文件进行解释
1.声明规范
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
2.localRepository
<localRepository>/opt/repositorylocalRepository>
3.interactiveMode
<interactiveMode>trueinteractiveMode>
4.usePluginRegistry
<usePluginRegistry>falseusePluginRegistry>
5.offline
<offline>falseoffline>
6.pluginGroups
<pluginGroups>
<pluginGroup>org.codehaus.mojopluginGroup>
pluginGroups>
7.proxies
<proxies>
<proxy>
<id>myproxyid>
<active>trueactive>
<protocol>httpprotocol>
<host>proxy.somewhere.comhost>
<port>8080port>
<username>proxyuserusername>
<password>somepasswordpassword>
<nonProxyHosts>*.google.com|ibiblio.orgnonProxyHosts>
proxy>
proxies>
8.servers
<servers>
<server>
<id>server001id>
<username>my_loginusername>
<password>my_passwordpassword>
<privateKey>${usr.home}/.ssh/id_dsaprivateKey>
<passphrase>some_passphrasepassphrase>
<filePermissions>664filePermissions>
<directoryPermissions>775directoryPermissions>
server>
servers>
9.mirrors
<mirrors>
<mirror>
<id>planetmirror.comid>
<name>PlanetMirror Australianame>
<url>http://downloads.planetmirror.com/pub/maven2url>
<mirrorOf>centralmirrorOf>
mirror>
mirrors>
10.profiles
<profiles>
<profile>
<id>testid>
11.Activation
<activation>
<activeByDefault>falseactiveByDefault>
<jdk>1.5jdk>
<os>
<name>Windows XPname>
<family>Windowsfamily>
<arch>x86arch>
<version>5.1.2600version>
os>
<property>
<name>mavenVersionname>
<value>2.0.3value>
property>
<file>
<exists>${basedir}/file2.propertiesexists>
<missing>${basedir}/file1.propertiesmissing>
file>
activation>
12.Repositories
<repository> <id>nexusid> <name>local private nexusname> <url>http://localhost:8081/nexus/content/groups/publicurl> <releases><enabled>trueenabled>releases> <snapshots><enabled>trueenabled>snapshots> repository> repositories> <repositories> <repository> <id>codehausSnapshotsid> <name>Codehaus Snapshotsname> <releases> <enabled>falseenabled> <updatePolicy>alwaysupdatePolicy> <checksumPolicy>warnchecksumPolicy> releases> <snapshots> <enabled/><updatePolicy/><checksumPolicy/> snapshots> <url>http://snapshots.maven.codehaus.org/maven2url> <layout>defaultlayout> repository> repositories> <pluginRepositories> <pluginRepository> <releases> <enabled/><updatePolicy/><checksumPolicy/> releases> <snapshots> <enabled/><updatePolicy/><checksumPolicy/> snapshots> <id/><name/><url/><layout/> pluginRepository> pluginRepositories> profile> profiles>
13.activeProfiles
默认配置: <activeProfiles> <activeProfile>devactiveProfile> activeProfiles> 配置解释: <activeProfiles> <activeProfile>env-testactiveProfile> activeProfiles> settings>
配置示例:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <localRepository>/opt/repository/mavenlocalRepository> <pluginGroups> pluginGroups> <proxies> proxies> <servers> <server> <id>nexusid> <username>adminusername> <password>admin123password> server> <server> <id>releasesid> <username>adminusername> <password>anonymous123password> server> <server> <id>snapshotsid> <username>adminusername> <password>anonymous123password> server> <server> <id>thirdpartyid> <username>adminusername> <password>anonymous123password> server> servers> <mirrors> <mirror> <id>nexusid> <name>internal nexus repositoryname> <url>http://10.0.0.241:9999/repository/maven-public/url> <mirrorOf>*mirrorOf> mirror> mirrors> <profiles> <profile> <id>apatchid> <repositories> <repository> <id>re-apatchid> <name>remote apatchname> <url>http://inno.starhubdev.com/nexus/content/groups/public/url> <releases> <enabled>trueenabled> releases> <snapshots> <enabled>trueenabled> snapshots> repository> repositories> profile> <profile> <id>ibiblioid> <repositories> <repository> <id>re-ibiblioid> <name>remote ibiblioname> <url>https://nexus.sourcesense.com/nexus/content/repositories/public/url> <releases> <enabled>trueenabled> releases> <snapshots> <enabled>trueenabled> snapshots> repository> repositories> profile> <profile> <id>redevid> <repositories> <repository> <id>re-nexusid> <name>remote nexusname> <url>http://repository.sonatype.org/content/groups/public/url> <releases> <enabled>trueenabled> releases> <snapshots> <enabled>trueenabled> snapshots> repository> repositories> profile> <profile> <id>devid> <repositories> <repository> <id>nexusid> <url>http://10.0.0.241:9999/nexus/content/groups/publicurl> <releases><enabled>trueenabled>releases> <snapshots><enabled>trueenabled>snapshots> repository> repositories> <pluginRepositories> <pluginRepository> <id>nexusid> <url>http://10.0.0.241:9999/nexus/content/groups/publicurl> <releases><enabled>trueenabled>releases> <snapshots><enabled>trueenabled>snapshots> pluginRepository> pluginRepositories> profile> profiles> settings>