说明:本篇博客只介绍配置安装方法,不介绍理论(可以百度)
下载安装配置部分
1.maven下载安装配置:参照http://blog.csdn.net/happyteafriends/article/details/7449642
2.maven和myeclipse集成:参考http://blog.csdn.net/flanet/article/details/8049954
3.nexus下载安装:参考http://blog.csdn.net/jiushuai/article/details/7962335
(注意点:http://nexus.sonatype.org/downloads/ 里面选择Nexus OOS(免费版)
在这里我win7下载zip版本没运行成功于是就下了TGZ版本,解压到目录配置好环境变量之后命令行敲nexus正常,如果出现敲nexus install出现“wrapper | OpenSCManager failed - 拒绝访问。 (0x5) ”错误的话参考:http://blog.csdn.net/longxia1987/article/details/8902830博客,成功之后敲http://localhost:8081/nexus,能正常显示则完成。)
maven配置部分
1.在maven中的settings.xml文件中设置你本地仓库的位置(在49行的样子)
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ~/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
<!-- maven本地工厂位置 -->
<localRepository>D:\maven-3.0.4\repository</localRepository>
2.配置团队局域网仓库
在maven中的settings.xml文件中,270行的样子,在profiles便签内添加
<!-- 局域网仓库访问地址 -->
<profile>
<id>nexusRepoFile</id>
<repositories>
<repository>
<id>nexus</id>
<name>nexus Repository</name>
<url>http://localhost:8081/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</profile>
然后激活,在maven中的settings.xml文件中290行的样子
<activeProfiles>
<!-- 激活 -->
<activeProfile>nexusRepoFile</activeProfile>
</activeProfiles>
让一个开发组的成员只能通过局域网仓库下载文件,局域网不存在则不会再去maven官网仓库去下载,从而避免个人再去官网下载(速度很慢),还需要配置镜像仓库(170行的样子)。
在<mirrors>
标签中设置
<!-- 使用镜像之后,只要通过建立的仓库才能连接maven官方的仓库,
而本地仓库只能访问建立的仓库 -->
<mirror>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://localhost:8081/nexus/content/groups/public/</url>
</mirror>
3.配置发布权限以及发布仓库(不然maven命令deploy不能执行)。
在maven项目的dom.xml文件中如下配置
<distributionManagement>
<!-- release版本仓库发布地址 -->
<repository>
<id>user-release</id>
<name>user release resp</name>
<url>http://localhost:8081/nexus/content/repositories/releases/</url>
</repository>
<!-- snapshot版本仓库发布地址 -->
<snapshotRepository>
<id>user-snapshot</id>
<name>user snapshot resp</name>
<url>http://localhost:8081/nexus/content/repositories/cms-snapshots/</url>
</snapshotRepository>
</distributionManagement>
在maven中的settings.xml文件中(120行的样子)如下设置:
<!-- release版本仓库 -->
<server>
<id>user-release</id>
<username>deployment</username>
<password>deployment123</password>
</server>
<!-- snapshot版本仓库 -->
<server>
<id>user-snapshot</id>
<username>deployment</username>
<password>deployment123</password>
</server>
4.如果想要为一个大项目组再细分每一个模块并分配相应的仓库的话,需要在http://localhost:8081/nexus中add新的仓库然后依次执行
下的Priviledge–>Roles–>Users完成添加新的仓库,并设置相应的权限和用户组。(详细流程百度,但不常用)。
添加并设置后如下图所示
在maven项目的dom.xml文件中如下配置:
<snapshotRepository>
<id>user-snapshot</id>
<name>user snapshot resp</name>
<url>http://localhost:8081/nexus/content/repositories/cms-snapshots/</url>
</snapshotRepository>
相应的在maven中的settings.xml文件中(还是在120行的样子)如下设置:
<server>
<id>user-release</id>
<username>deployment</username>
<password>deployment123</password>
</server>
<server>
<id>user-snapshot</id>
<!-- <username>deployment</username>
<password>deployment123</password>
-->
<username>cms</username>
<password>cms123</password>
</server>
在maven项目中右键pom.xml 使用“clean deploy”命令,测试。
补充说明部分:
1:需要运行测试项目的时候选中你的pom.xml文件,右键属性选择
run as–>选择 “Maven Builder. .”–>在Goals中填clean test(常用)。回车运行—OK
2:需要打包的时候选中你的pom.xml文件,右键属性选择
run as–>选择 “Maven Builder. .”–>在Goals中填clean package。回车运行—OK
3:需要放入本地仓库的时候选中你的pom.xml文件,右键属性选择
run as–>选择 “Maven Builder. .”–>在Goals中填clean install。回车运行—OK
————————————
小结:
A:整体
0.Maven项目的一般构成
src
--main
----java
------package
----resources
--test
----java
------package
----resources
--target-->bin(编译好的二进制文件)
-pom.xml
隐藏变量
1.操作的都是dom.xml文件,使用这个文件操作项目。
2.compile命令:编译你的项目 生成二进制放到target目录中。
3.test命令:编译你的测试类生成二进制到target目录中。
4.clean命令:清空tagrget目录中之前生成的编译内容。
5.package命令:可以把文件打包。
6.install命令:将编译好的东西安装到本地仓库中。
7.deploy命令:发布war包或者jar包或者各种包到仓库中。
B:关键功能
pom.xml文件中
1.groupId–>项目的名称(一个项目多个模块)。
2.artifactId–>项目组某一个模块。
3.version–>0.0.1-SNAPSHOT
释义:大版本上的变动(架构上的调整).分支上的变化.分支里面多少次跟新-(SNAPSHOT:快照版/alpha:项目组内部测试版本/beta:使用者用/Release(RC):释放版本/GA:可靠版本)
4.依赖(jar包配置即可导入)
<dependencies><dependency><dependency></dependencies>
5.聚合:使用一个pom.xml管理多个子项目的编译,测试,打包,安装。并且聚合指的是模块的*位置*。如下所示
<modules>
<module>../syj-action</module>
<module>../syj-service</module>
<module>../syj-dataSource</module>
</modules>
6.继承:主要用来将公共的jar包和版本号集中管理。并且在父类中<packaging>pom</packaging>
必须写pom。子类引用的时候需要加入
......
<parent>
<groupId>syj-system</groupId>
<artifactId>syj-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../syj-parent/pom.xml</relativePath>
</parent>
<artifactId>syj-service</artifactId>
<package>jar</package>
<name>syj-service</name>
......
模块,其中绝对路径是父类的pom的*文件*。