国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Maven安裝與全局profile配置

2019-11-14 22:26:55
字體:
來源:轉載
供稿:網友
Maven安裝與全局PRofile配置

image

Maven 3.2 需要 JDK 1.6, Maven 3.0/3.1 需要 JDK 1.5

· 解壓.

· 環境變量 M2_HOME

· M2 = %M2_HOME%/bin 同時也添加到PATH

· 可選的: MAVEN_OPTS = -Xms256m -Xmx512m -Dmaven.artifact.threads=3 (多線程下載,默認5)

· 當然,也要有java_HOME

運行 mvn –version 測試

image

有兩個settings.xml,跟具體項目或用戶無關

  • 官方全局設置:$M2_HOME/conf/settings.xml
  • 用戶設置:${user.home}/.m2/settings.xml

可以直接復制一份作為用戶設置

<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/>      <interactiveMode/>      <usePluginRegistry/> 無用       <offline/>      <pluginGroups/>        <servers/> 略       <mirrors/> 略      <proxies/> 略       <profiles/>      <activeProfiles/>    </settings>

里面的設置可以用表達式的:

  1. ${user.home} 系統變量,就是java里能用System.getProperty取到的
  2. ${env.HOME} 環境變量,就是System.getProperty("java.library.path")

但 profiles 里定義的屬性不能這樣引用

<localRepository>${user.home}/.m2/repository</localRepository> 本地代碼庫位置,必須為絕對路徑  <interactiveMode>true</interactiveMode> 是否提示,選擇123  <usePluginRegistry>false</usePluginRegistry>  <offline>false</offline> 默認總是聯機

<pluginGroups>    <pluginGroup>org.mortbay.jetty</pluginGroup> 默認org.apache.maven.plugins , org.codehaus.mojo  </pluginGroups>

如果像上面這樣設置了,要運行org.mortbay.jetty:jetty-maven-plugin:run

就可以直接 mvn jetty:run

Setting.xml的profilepom.xml里 profile的壓縮版. 包括了

activation(激活條件), repositories, pluginRepositoriesproperties(可定義特定屬性)

因為他只關心全局設置,跟具體項目無關

如果生效,將覆蓋具體的 POM或 profiles.xml設置

1.

<profiles>    <profile>      <id>test</id>      <activation> 激活條件,要全部匹配        <activeByDefault>false</activeByDefault>默認激活        <jdk>1.5</jdk>        <os>          <name>Windows xp</name>          <family>Windows</family>          <arch>x86</arch>          <version>5.1.2600</version>        </os>        <property>如果有某個屬性符合(Maven3中也搜索Settings.xml)          <name>mavenVersion</name>          <value>2.0.3</value>沒有value也可,表示只要定義過        </property>        <file>          <exists>${basedir}/file2.properties</exists>          <missing>target/generated-sources/axistools/wsdl2java/org/apache/maven</missing>如果某個文件不存在        </file>      </activation>      ...    </profile>  </profiles>

2.

<profiles>    <profile>      ...      <properties> 生效時的特定屬性        <user.install>${user.home}/our-project</user.install>      </properties>      ...    </profile>  </profiles>

Profile里的properties可以在pom.xml用表達式${xx}任意引用,具體可以有以下方式:

  1. env.X: 環境變量,如${env.PATH}
  2. project.x 或 pom.x: 對應 POM.xml 的某個元素,如${project.version}
  3. settings.x: 對應 settings.xml 某個元素 ,如${settings.offline}
  4. 所有能用 java.lang.System.getProperties() 訪問的, 比如 ${java.home}
  5. x:就是 <properties /> 定義的,如 ${user.install}.當然這個profile要先激活

3.

<profiles>    <profile>      ...      <repositories> 具體代碼庫        <repository>          <id>codehausSnapshots</id>          <name>Codehaus Snapshots</name>          <releases> 正式版設置            <enabled>false</enabled>            <updatePolicy>always</updatePolicy> 更新策略            <checksumPolicy>warn</checksumPolicy> 校驗策略          </releases>          <snapshots> 預覽版設置            <enabled>true</enabled>            <updatePolicy>never</updatePolicy>            <checksumPolicy>fail</checksumPolicy>          </snapshots>          <url>http://snapshots.maven.codehaus.org/maven2</url> 具體代碼庫位置          <layout>default</layout> 略        </repository>      </repositories>      <pluginRepositories>        ...      </pluginRepositories>      ...    </profile>  </profiles>

<updatePolicy>可以是以下值:always, daily (默認), interval:X (幾分鐘) ,never.

<checksumPolicy>可以是以下值:ignore, fail, warn

4.pluginRepositories 插件代碼庫,結構同上

activation 并不是讓profile生效的唯一方式. activeProfile 里也可以

<activeProfiles>    <activeProfile>env-test</activeProfile> profile的id  </activeProfiles>

將會在pom.xml和profile.xml中尋找該profile(Maven3已不再使用profile.xml)

也可以在命令行中 –p 顯式啟用

mvn groupId:artifactId:goal -P profile-1,profile-2

或顯示禁用

mvn groupId:artifactId:goal -P !profile-1,!profile-2

mvn help:active-profiles 可查看當前啟用的profile

image


上一篇:Struts標簽

下一篇:Maven默認周期與插件

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南雄市| 六盘水市| 科技| 福泉市| 山丹县| 册亨县| 来凤县| 金湖县| 北海市| 湛江市| 习水县| 蒙山县| 龙江县| 福州市| 巫溪县| 静海县| 宜黄县| 长治县| 山东| 望都县| 绥棱县| 西畴县| 台南市| 上饶市| 镇坪县| 社会| 乌审旗| 辽宁省| 盱眙县| 昌黎县| 左云县| 娱乐| 遵化市| 当雄县| 祁东县| 万荣县| 兰西县| 福建省| 松原市| 鹤岗市| 吴桥县|