T1. maven:
知识的积累,专家,内行,主要服务于基于java平台的项目构建、依赖管理和项目信息管理。Maven抽象了一个完整的构建生命周期模型,这个模型吸取了 大量其他的构建脚本和构建工具的优点,总结了大量项目的实际需求。如果遵循这个模型,可以直接使用大量成熟的Maven插件来完成我们的任务.
2. maven的安装
下载解压缩后,设置环境变量M2_HOME(maven的安装目录),然后配置path。
3. 常用命令
mvn -v 查看maven的版本号
mvn help:system 打印所有的Java系统属性和环境变量
mvn help:describe -Dplugin=exec -Dfull 列出插件所有可用的目标
mvn help:effective-pom 最终的pom.xml(包括了继承和覆盖的信息,最终真实作用的pom)
4. maven设置HTTP代理
有时候出于安全考虑,需要通过安全认证的代理访问因特网。这种情况下,就需要为Maven配置HTTP配置HTTP代理,才能让它正常访问外部仓库,以下 载所需要的资源。 首先确认自己无法直接访问公共的Maven中央仓库,直接运行命令ping repol.maven.org可以检查网络。如果真的需要代理,先检查一下代理服务器是否畅通,比如现在有一个IP地址为 218.14.227.197,端口为3128的代理服务,我们可以运行telnet 218.14.227.197 3128来检测该地址的该端口是否畅通。如果等到出错信息,需要先获取正确的代理服务信息;如果telnet连接正确,则输入ctrl+],然后q,回 车,退出即可。
在setting.xml中添加代理配置如下:
<settings>
...
<proxies>
<proxy>
<id>my-proxy</id>
<active>true></active>
<protocol>http</protocol>
<hotst>218.14.227.197</host>
<port>3128</port>
<username>****</username>
<password>****</password>
<nonProxyHosts>repository.mycom.com|*.google.com</nonProxyHost>
</proxy>
</proxies>
</settings>
这段配置十分简单,proxies下可以有多个proxy元素,如果你声明了多个proxy元素,则默认情况下第一个被激活的proxy会生效。 nonProxyHost元素用来指定哪些主机名不需要代理,可以使用|符号来分隔多个主机名。此外,该配置也支持通配符,如*.google.com表 示所有以google.com结尾的域名访问都不需要通过代理。
5.Maven安装最佳实践
5.1 设置MAVEN_OPTS环境变量: -Xms128m -Xmx512m设置Maven调用java时,默认的内存大小。
5.2 setting的配置范围
%M2_HOME%\conf\setting.xml 对系统所有用户都有效
~\.m2\setting.xml只对当前用户有效
5.3 不要使用IDE内嵌的Maven
在安装m2eclipse环境后,点击windows-->preferences-->maven-->installation,去掉默认的Embedded Maven,重新添加我们自己的maven.
-------------------------------------------------------------------------------------------------------------
C:\software\apache-maven-2.0.11\conf\settings.xml
添加下面一段:
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<sonar.jdbc.url>
jdbc:derby://localhost:1527/sonar;create=true
</sonar.jdbc.url>
<sonar.jdbc.driver>
org.apache.derby.jdbc.ClientDriver
</sonar.jdbc.driver>
<sonar.jdbc.username>sonar</sonar.jdbc.username>
<sonar.jdbc.password>sonar</sonar.jdbc.password>
<!-- SERVER ON A REMOTE HOST -->
<sonar.host.url>http://localhost:9000</sonar.host.url>
</properties>
</profile>