Maven的使用,Nexus建立本地仓库以及Eclipse导入Maven项目(三): 配置篇
配置篇:
=====================================================================================
配置Maven
-------------------------------------------------------------------------------------------------------------------------------------------------
下面要进行个性化设置,如本地仓库,nexus集成,proxy设置,eclipse插件等
**Maven的全局主配置文件在%MAVEN_HOME%\conf\settings.xml, 运行过Maven也会产生%USER_HOME%\.m2\settings.xml这个文件.
推荐修改前一个文件 [这两个文件的优先级没测试]
1) 配置本地仓库位置
打开%MAVEN_HOME%\conf\settings.xml, 找到<localRepository>这个节点,修改成本地地址
[**此地址默认为%USER_HOME%\.m2\repository]
2) 设置Maven的代理 [适用于要求代理上网的公司内部使用]
打开%MAVEN_HOME%\conf\settings.xml, 找到<proxies>这个节点,添加<proxy>节点,设置内容如下:
[**此项默认无设置]
-------------------------------------------------------------------------------------------------------------------------------------------------
配置m2eclipse
-------------------------------------------------------------------------------------------------------------------------------------------------
1. 进入Eclipse的Preferences设置界面, 找到Maven
2. 进入Maven->Installations
检查是否找到系统安装的Maven. 如果没有手工添加
3) 进入Maven->User Settings
修改User Settings为前面个性化过的Maven的settings.xml [**此处默认为.m2\settings.xml]
修改成功后,下面的Local Repository也相应更新为settings.xml里面设置的值 [**此处默认为.m2\repository]
-------------------------------------------------------------------------------------------------------------------------------------------------
配置Nexus:
-------------------------------------------------------------------------------------------------------------------------------------------------
1. 参见文档(二), 启动Nexus. 打开浏览器, 输入地址:
< http://localhost:8081/nexus/index.html >
2. 点击右上角"Log In", 输入管理账户用户名/密码 [默认值 admin/admin123]
3. 为Nexus设置代理
1) Nexus全局Proxy设定
点击左边Administration->Server, 找到"Default HTTP Proxy Settings (optional)"设置项
2) Repository单独Proxy设定,此设置项会覆盖上面的全局设置
点击左边Repositories, 选中要设置的Repository, 点击"Configuration"标签页,找到"Override HTTP Proxy Settings(optional)"设置项
4. 设置Repository下载远程索引
1) 点击左边Repositories, 选中要设置的Repository [建议为 Apache Snapshots / Central / Codeaus Snapshots 这三个repository设置]
2) 点击"Configuration"标签页,找到"Download Remote Indexes"设置项, 设置为'True', 点击"Save"按钮保存.
3) 再分别选择Repository, 右键点击, 选择"Repair Index".
**此步骤很重要. 默认安装的Nexus没有建立远程索引, 此命令强制重建远程索引
5. 添加自定义Repository
点击"Add"菜单即可添加自定义Repository, 通常添加的都为"Proxy Repository"类型居多
配置界面参考如下:
----------------------------------------------------------------
**推荐几个第三方repository:
-http://repository.jboss.org/nexus/content/groups/public/
-https://repository.jboss.org/nexus/content/groups/developer/
-http://morphia.googlecode.com/svn/mavenrepo/
----------------------------------------------------------------
配置Nexus本地仓库位置
-------------------------------------------------------------------------------------------------------------------------------------------------
1. Nexus本地仓库信息配置于%NEXUS_HOME%\conf目录下的nexus.properties文件中
2. 打开nexus.properties文件, 其中的"nexus-work="配置项为Nexus本地工作目录设置 [默认为安装目录同级目录下的sonatype-work/nexus]
**还可以设置port, webapp的context path等. 结合jetty.xml可以进行配置
***examples目录下还有很多配置样例可以参考
-------------------------------------------------------------------------------------------------------------------------------------------------
配置Maven集成Nexus
-------------------------------------------------------------------------------------------------------------------------------------------------
1. Maven的Profile设置与插件仓库设置
打开%MAVEN_HOME%\conf\settings.xml, 找到<profiles>这个节点,添加<profile>节点,设置内容如下:
[**此项默认无设置]
**与Nexus的集成是通过Maven的插件来实现的,如下图中黄色框标识部分配置
2. 活动Profile设置
继续,找到<activeProfiles>这个节点,添加<activeProfile>节点,设置内容如下:
[**此项默认无设置]
**此节点设置对应于上2中设置的profile,指定上面id=nexus的profile为激活状态
3. 镜像仓库设置 [optional]
打开%MAVEN_HOME%\conf\settings.xml, 找到<mirrors>这个节点,添加<mirror>节点,设置内容如下:
[**此项默认无设置]
**此项设置为镜像仓库设置. 当默认设置仓库[远程或本地]不可用时尝试连接
4. 验证
配置成功后,再使用Maven的时候就不用从远程仓库取index,而改为从本地Nexus. 如下图
-------------------------------------------------------------------------------------------------------------------------------------------------
=====================================================================================
附录1:
----------------------------------------------------------------
maven命令大全
validate,验证工程是否正确,所有需要的资源是否可用。
compile,编译项目的源代码。
test-compile,编译项目测试代码。
test,使用已编译的测试代码,测试已编译的源代码。
package,已发布的格式,如jar,将已编译的源代码打包。
integration-test,在集成测试可以运行的环境中处理和发布包。
verify,运行任何检查,验证包是否有效且达到质量标准。
install,把包安装在本地的repository中,可以被其他工程作为依赖来使用
deploy,在整合或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其他的开发者或者工程可以共享。
generate-sources,产生应用需要的任何额外的源代码,如xdoclet。
附录2:
----------------------------------------------------------------
**Maven的本地库文件内容
附录3:
----------------------------------------------------------------
**Nexus的本地工作目录下的索引目录