Maven安装 Nexus安装 略!~
Nexus配置
1. 修改nexus的服务端口,打开文件D:\Program Files\nexus-2.3\conf\nexus.properties,例如修改成8181端口如下:
application-port=8181
2. 启动应用,运行D:\Program Files\nexus-2.3\bin\jsw\windows-x86-32\console-nexus.bat
3. IE上打开http://localhost:8181/nexus/,点击Log In,输入admin/admin123
3.1 修改Repositories-Cental-Configuration下的属性,例如我设置如下
Download Remote Indexes=True
更新号Index后接着更改成如下
Download Remote Indexes=False
Maven配置
1. maven本地仓库路径
我们打开…\apache-maven-3.2.1\conf\目录下的setting.xml文件,设置成我们创建的仓库路径
可不更改,使用默认的,默认的位置是登录用户的目录下的.m2/repository
2. 配置私服,将你的maven的下载路径配置成10.118.46.12的公司仓库,配置如下
<mirrors>
<mirror>
<id>central</id>
<mirrorOf>*</mirrorOf>
<name>10.118.46.12的公司仓库</name>
<url>http://10.118.46.12:8081/nexus/content/groups/public/</url>
</mirror>
</mirrors>
<profile>
<id>sf-nexus-repos</id>
<repositories>
<repository>
<id>nexus</id>
<url>http://10.118.46.12:8081/nexus/content/groups/public/</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<url>http://10.118.46.12:8081/nexus/content/groups/public/</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>sf-nexus-repos</activeProfile>
</activeProfiles>
3. 配置上10.118.46.12的公司仓库中的release和snapshots的服务帐号密码。目的是第四步中的本地项目开发后,通过此帐号将snapshot/release包发布到私服中的snapshots/release服务中。另外,对于管理人员来说都应该配置release个帐号,对于每一个开发人员只需配置snapshots帐号
<servers>
<server>
<id>sf-nexus-releases</id>
<username>709166(员工号)</username>
<password> deployment123</password>
</server>
<server>
<id>sf-nexus-snapshots</id>
<!—可以自己设置可发布的帐号、密码-->
<username>709166(员工号)</username>
<password>Aa123456</password>
</server>
</servers>
4. 在项目的POM文件中加入下面的配置,目的是能使用mvn deploy将你最新更改的代码打包发布到10.118.46.12的公司仓库上,供其他开发人员或团队人员一起协作开发
<projects>
…
<!-- 配置远程发布到私服,mvn deploy -->
<distributionManagement>
<repository>
<id>sf-nexus-releases</id>
<name>Nexus Release Repository</name>
<url>http://10.118.46.12:8081/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>sf-nexus-snapshots</id>
<name>Nexus Snapshot Repository</name>
<url>http://10.118.46.12:8081/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
…
</projects>
5. 下面我们用一个命令验证一下。打开命令提示符,输入:mvn help:system
该命令会打印出所有的java系统属性和环境变量。这些信息对我们日常的编程工作很有帮且。如果运行的过程中没有错误,打开我们仓库(D:\user\员工号\.m2\repository)会发现里面多了一些文件。这些文件就是我们从maven的中央仓库下载nexus私服上,接着下载到本地仓库的
下载依耐包
如果发现10.118.46.12的公司仓库上没有依耐包,需要10.118.46.12的公司仓库连接你的nexus私库,下载到10.118.46.12的公司仓库上,请将你的nexus个人仓库地址(机器地址最佳)告知10.118.46.12的公司仓库的负责人。例如下面的路径:
http://hqit00709166ma:8181/nexus/content/groups/public/
注意: 启动你的nexus的个人仓库,执行MAVEN命令后,发现包都下载完毕,确认没有包可以下载,可关闭你的nexus程序,以免丢失每天200M的流量。
Maven常用命令
mvn compile 编译当前目录下的java文件,自动将编译好的字节码放到自动生成的target目录下
mvn test 运行测试单元,自动将编译后的测试类字节码文件,测试报告等放入target目录下
mvn test -skipping compile -skipping test-compile 只测试而不编译,也不测试编译
mvn test-compile 编译测试代码
mvn site 生成项目相关信息的网站
mvn package 生成target目录,编译、测试代码,生成测试报告,生成jar/war文件
mvn install 在本地Repository中安装jar
mvn clean 删除target文件夹及其下所有内容(编译好的java字节码文件,测试字节码文件,测试报告等)
mvn clean package 自动完成如下步骤:删除target文件夹;编译源文件;测试;打包,最后的结果是:生成target文件夹,存放了源文件字节码文件,测试类字节码文件,测试报告,以及该模块打好的jar包【user-core-0.0.1-SNAPSHOT.jar】!
mvn clean install 自动完成清空target,编译,测试,打包,最后将jar包拷贝到本地仓库(目的:由其它模块通过在POM.xml配置dependency标签引入使用)
mvn clean deploy 运行清理、编译、测试、打包、安装(拷贝至本地仓库)和发布(发布到私服上,这样其它开发人员便可从私服获取)
mvn eclipse:eclipse 生成eclipse项目
mvn -Dwtpversion=1.0 eclipse:eclipse 生成Wtp插件的Web项目
mvn eclipse:clean 清除eclipse的一些系统设置
mvn jar:jar 只打jar包
mvn -Dtest package 组合使用goal命令,如只打包不测试
mvn -e 显示详细错误 信息
mvn validate 验证工程是否正确,所有需要的资源是否可用
mvn integration-test 在集成测试可以运行的环境中处理和发布包。
mvn verify 运行任何检查,验证包是否有效且达到质量标准。
mvn -v 显示版本
mvn help:describe -Dplugin=help 使用 help 插件的 describe 目标来输出 Maven Help 插件的信息。
mvn help:describe -Dplugin=help -Dfull 使用Help 插件输出完整的带有参数的目标列
mvn help:describe -Dplugin=compiler -Dmojo=compile -Dfull 获取单个目标的信息,设置 mojo 参数和 plugin 参数。此命令列出了Compiler 插件的compile 目标的所有信息
mvn help:describe -Dplugin=exec -Dfull 列出所有 Maven Exec 插件可用的目标
mvn help:effective-pom 看这个“有效的 (effective)”POM,它暴露了 Maven的默认设置
mvn dependency:resolve 打印出已解决依赖的列表
mvn dependency:tree 打印整个依赖树
mvn dependency:list能够列出项目最终解析到的依赖列表
mvn dependency:analyze可以告诉你项目依赖潜在的问题,如果你有直接使用到的却未声明的依赖,该目标就会发出警告。
mvn dependency:copy-dependencies 将项目依赖从本地Maven仓库复制到某个特定的文件夹下面
mvn exec:java -Dexec.mainClass=org.sonatype.mavenbook.weather.Main Exec 插件让我们能够在不往 classpath 载入适当的依赖的情况下,运行这个程序
mvn install -X 想要查看完整的依赖踪迹,包含那些因为冲突或者其它原因而被拒绝引入的构件,打开 Maven 的调试标记运行
mvn source:jar install -Dmaven.test.skip=true 给任何目标添加maven.test.skip 属性就能跳过测试,打源码包
mvn source:test-jar package -Dmavne.test.skip=true 打测试源码包,并跳过测试
mvn install assembly:assembly 构建装配Maven Assembly 插件是一个用来创建你应用程序特有分发包的插件
mvn test -Dtest=FooTest 这样一条命令的效果是仅运行FooTest测试类
mvn versions:set -DnewVersion=1.1-SNAPSHOT 就能帮助你把所有模块的版本更新到1.1-SNAPSHOT
mvn versions:commit 提交,不满意的话也可以使用 mvn versions:revert 进行撤销。
mvn eclipse:eclipse -DdownloadSources -DdownloadJavadocs 第一个命令去取所有在POM中的的source code,第二个去取Javadocs
mvn dependency:sources 所有在POM中的的source code
mvn dependency:resolve -Dclassifier=javadoc 取Javadocs
mvn jetty:run 调用 Jetty 插件的 Run 目标在 Jetty Servlet 容器中启动 web 应用
mvn hibernate3:hbm2ddl 使用 Hibernate3 插件构造数据库
mvn findbugs:findbugs 根据既定规则检查代码bug
mvn findbugs:gui 界面查看findbugs的report
mvn install:install-file -DgroupId=com -DartifactId=client -Dversion=0.1.0 -Dpackaging=jar -Dfile=d:\client-0.1.0.jar 发布第三方Jar到本地库中
Maven常用的远程仓库
apache Repository - https://repository.apache.org/content/groups/public/
Codehaus repository - http://repository.codehaus.org/
maven db plugin repository - https://maven-db-plugin.googlecode.com/svn/maven/repo/
maven2 Repository - http://search.maven.org/remotecontent?filepath=/
Oschina Repositories - http://maven.oschina.net/content/groups/public/
https://repository.apache.org/content/repositories/releases/
http://repo1.maven.org/maven2/
http://download.java.net/maven/2/
http://repository.jboss.org/maven2/
https://repository.sonatype.org/content/groups/forge/
alibaba
http://code.alibabatech.com/mvn/releases
cloudera
https://repository.cloudera.com/artifactory/cloudera-repos
http://mvnrepo.code.taobao.org/nexus/content/repositories/releases/