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>