Maven安装与全局profile配置

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 测试

有两个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

时间: 01-01

Maven安装与全局profile配置的相关文章

Windows环境下maven 安装与环境变量配置

Maven是一个项目管理的Java 工具,在JavaEE中,我们可以使用Maven方便地管理团队合作的项目,现在我们在学习JavaEE框架,使用Maven可以管理类库,有效方便地供团队中的其他人员使用. 一.下载 Maven . 请访问Maven的下载页面:http://maven.apache.org/download.html,其中包含针对不同平台的各种版本的Maven下载文件. 注意: 我这里下载的是:apache-maven-3.3.9-bin.zip 版本. 二.解压 maven 压缩

maven安装与环境变量配置

maven 安装 maven 是免安装软件,解压到指定文件夹就可以 指定文件夹:D:\software\apache-maven-3.5.0 配置环境变量 首先配置一个MAVEN_HOME 然后配置Path:%MAVEN_HOME%;bin 检查是否配置成功:mvn -v 原文地址:https://www.cnblogs.com/chuijingjing/p/9875283.html

Maven学习笔记一(Maven安装与环境变量配置)

Maven包1.apache-maven-3.3.9-bin.zip2.apache-maven-3.3.9-src.zip(源码) 配置环境变量 验证: 原文地址:http://blog.51cto.com/12517066/2088107

转载maven安装,配置,入门

转载:http://www.cnblogs.com/dcba1112/archive/2011/05/01/2033805.html 本书代码下载 大家可以从我的网站下载本书的代码:http://www.juvenxu.com/mvn-in-action/,也可以通过我的网站与我取得联系,欢迎大家与我交流任何关于本书的问题和关于Maven的问题. 咖啡与工具 本书相当一部分的内容是在苏州十全街边的Solo咖啡馆完成的,老板Yin亲手烘焙咖啡豆.并能做出据说是苏州最好的咖啡,这小桥流水畔的温馨小

springboot的profile配置

Profile是Spring用来针对不同的环境对不同的配置提供支持的,全局Profile配置使用application-{profile}.properties 通过在application,properties中设置spring.profies.active=***来指定活动的profile 简单演示,生产环境的端口为80,开发环境的端口为8888. 配置文件如下: appilcation-prod.properties: appilcation-dev.properties: 目录结构: a

Mac003--Maven安装与环境变量配置

Mac--Maven安装 一.应用brew安装maven及安装位置 打开终端,输入命令:brew install maven 参考博客:https://www.jianshu.com/p/230e0b5de44e 二.Maven安装与环境变量配置 参考博客:https://www.jianshu.com/p/3efef0e13ed4 1.下载Maven https://maven.apache.org/download.cgi   Step1:打开网址https://maven.apache.o

Maven安装与学习

一.安装 1.下载http://maven.apache.org/download.cgi 2.选择zip格式 安装完后解压到某一位置(E:\xitong\major\apache-maven-3.6.3   解压位置即为maven安装目录) 3.配置环境变量 变量名:M2_HOME 变量值:E:\xitong\major\apache-maven-3.6.3     //maven安装目录 变量名:Path 变量值:%M2_HOME%\bin点击确定,maven环境变量配置成功. 4.检验安装

maven安装和配置

一.下载maven maven下载页 里面有一些版本区别,binary比较小,适合直接在项目中使用,source带了源代码,windows系统下载zip后缀的 apache-maven-3.3.9-bin.zip 8.22M 是绿色的,解压到相应目录就行 二.配置环境变量 1.增加"M2_HOME",内容是maven的路径(我的是"D:\Java\maven") 2.编辑"path",在原有内容后面增加"%M2_HOME%\bin;&q

在eclipse激活maven profile配置

profile简介 profile可以让我们定义一系列的配置信息,然后指定其激活条件.这样我们就可以定义多个profile,然后每个profile对应不同的激活条件和配置信息,从而达到不同环境使用不同配置信息的效果.比如说,我们可以通过profile定义在jdk1.5以上使用一套配置信息,在jdk1.5以下使用另外一套配置信息:或者有时候我们可以通过操作系统的不同来使用不同的配置信息,比如windows下是一套信息,linux下又是另外一套信息,等等.具体的激活条件有哪些我在后文会讲到. pro