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

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

  1. maven安装和环境变量配置

    maven安装和环境变量配置 myeclipse自带maven(Maven4MyEclipse)创建项目:新建Web Projects项目,在新建的页面上打上maven的勾.新建的项目里会多出个pom ...

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

    Maven是一个项目管理的Java 工具,在JavaEE中,我们可以使用Maven方便地管理团队合作的项目,现在我们在学习JavaEE框架,使用Maven可以管理类库,有效方便地供团队中的其他人员使用 ...

  3. maven安装与环境变量配置

    一.什么是maven Maven基于项目对象模型(POM Project Object Model),可以通过一小段描述信息(配置文件)来管理项目的构建.报告和文档的软件项目管理工具. 同时也是跨平台 ...

  4. maven不同环境的profile配置

    1.开发的时候经常需要加载不同的环境,比如本地开发环境dev,生产环境product.如果需要手动去修改的话就太麻烦了,自己实现了maven资源替换,然后多环境下的配置文件管理的demo,在此贴出来. ...

  5. Maven安装和在IDEA配置Maven

    一.Windows安装Maven 1.下载Maven 这里需要注意:不要去官网下载最新的版本,因为会出现与IDEA不兼容的现象. 这里提供下载地址:https://archive.apache.org ...

  6. Maven安装及其IDEA的配置

    相关内容网上很多,本文转载自csdn博主 击中我,https://blog.csdn.net/qq_36267611/article/details/85274885,内文略有修改. 一.下载安装前往 ...

  7. IDEA 如何搭建maven 安装、下载、配置(图文)

    1.下载 maven 压缩包 输入网址 www.apache.org 会看到以下界面 住下划看到以下界面 然后看到这个界面 选择下载这个版本 下载后 解压 maven 压缩包 (文件路径不建议用有中文 ...

  8. maven 安装、下载、配置,idea中的maven设置

    1.从Maven官网下载压缩包 2.将压缩包解压到你像放置Maven的路径,我放置在D:\0_FileSave\Maven 3.创建本地仓库  MavenRepository 在Maven解压路径下D ...

  9. 转载maven安装,配置,入门

    转载:http://www.cnblogs.com/dcba1112/archive/2011/05/01/2033805.html 本书代码下载 大家可以从我的网站下载本书的代码:http://ww ...

随机推荐

  1. ubuntu下如何查看用户登录及系统授权相关信息【转】

    转自:http://www.tuicool.com/articles/ia67Bj 如何在ubuntu下查看相关用户登录历史,进行系统的日志跟踪和分析,以便发现系统登录问题,进行安全策略防护呢?ubu ...

  2. [原]poj-1611-The Suspects(水并查集)

    题目链接:http://poj.org/problem?id=1611 题意:输入n个人,m个组.初始化0为疑似病例.输入m个小组,每组中只要有一个疑似病例,整组人都是疑似病例.相同的成员可以在不同的 ...

  3. jquery ajax 开发手记

    1.json解析的格式要求更严格了,必须全部加引号,否则无法识别 {"result":"false"} 2.ashx如果要使用Session需要继承接口IReq ...

  4. POJ 1837 Balance 【DP】

    题意:给出一个天平,给出c个钩子,及c个钩子的位置pos[i],给出g个砝码,g个砝码的质量w[i],问当挂上所有的砝码的时候,使得天平平衡的方案数, 用dp[i][j]表示挂了前i个砝码时,平衡点为 ...

  5. ASP.NET MVC 4 WebAPI. Support Areas in HttpControllerSelector

    This article was written for ASP.NET MVC 4 RC (Release Candidate). If you are still using Beta versi ...

  6. C语言之字节对齐

    在C语言编程中,有时为了达到减少运行的时间的目的,需要浪费一些空间:而有时为了节省空间,使它的运行时间增长.而字节对齐则是为了访问效率,用空间换取时间. 要掌握字节对齐,首先得明确一下四个概念: 1. ...

  7. Scala List

    1 介绍 Scala中列表List类似于数组,List所有元素都具有相同的类型,但有两个重要的区别. 首先,列表是不可变的,这意味着一个列表的元素可以不被分配来改变. 第二,列表表示一个链表,而数组平 ...

  8. 如何调试Android Framework?

    Linus有一句名言广为人知:Read the fucking source code. 但其实,要深入理解某个软件.框架或者系统的工作原理,仅仅「看」代码是远远不够的.就拿Android Frame ...

  9. 一段实现页面上的图片延时加载的js

    大家如果使用firebug去查看的话就会发现,当你滚动到相应的行时,当前行的图片才即时加载的,这样子的话页面在打开只加可视区域的图片,而其它隐藏的图片则不加载,一定程序上加快了页面加载的速度,对于比较 ...

  10. CentOS 6.0 缺少 mcrypt 扩展 解决办法

    解决办法:安装php-mcrypt libmcrypt libmcrypt-devel这三个库文件 1.安装第三方yum源(默认yum源里面没有这几个库文件,不能使用yum安装) #wget http ...