随着不断学习,项目经验的积累,对代码的管理的需求越来越大,从一开始用的svn,git到现在学习的maven,都印证着软件开发是一个团队的事情。今天写下关于强大的项目构建和管理的工具maven。
maven,项目管理和构建的工具,它包含了:
一个项目对象模型 (Project Object Model),
一组标准集合,
一个项目生命周期(Project Lifecycle),
一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。
当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,
然后 Maven 可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。
有意思的是,这个工具并不是apache组织开发的,而是一个牛人开发出来贡献给开发人员使用的,可以在www.apache.org下载到。
关于maven的配置:只需要在环境变量中配置M2_HOME,值为maven的安装目录,在path中通过%M2_HOME%\bin引入其对于的命令,注意maven是运行在java环境下的,这个时候我们一定要保证已经安装好了jdk和配置好其环境变量了。测试如下:
配置好之后呢,我们要写第一个maven项目了,通常其步骤有6步:
1、创建一个工程目录,随便什么一个目录都可以。
2、创建一个pom.xml (直接去struts中拷贝完成) == >
<modelVersion>4.0.0</modelVersion> <!--mavan模型版本-->
<groupId>com.yc.maven</groupId> <!-- 包的前缀名-->
<artifactId>maven-hello</artifactId><!--模块名-->
<version>snapshot.0.0.1</version> <!--版本号 snapshot开发版 resease稳定版-->
<packaging>jar</packaging> <!--最后打包成什么(默认为jar)-->
3、创建源文件:
源文件存放位置: src/main/java
配置资源文件存放位置: src/main/resources
测试源文件存放位置:src/test/java
测试配置资源文件存放位置: src/test/resources
如图:
然后在自己的目录下就可以创建对应的类啦,这里随便创建了一个Hello.java
4:执行一些常用的命令,例如编译之前写清除源编好的class=》mvn clean
接下来进行编译mvn compile命令搞定,当然也可以直接使用mvn clean complie 直接编译,如图:
玩过maven的人都知道,编译会下载很多的文件,如果网速不够好,如果一个项目够大的话,下载的jar包够多,这是非常的痛苦的,可能半天都没下载好,这里我采用的是私服方式解决。在setting中配置私服的信息:
<mirrors>
<mirror>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>http://192.168.1.103:8081/nexus/content/groups/public/</url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>central</id>
<url>http://central</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>http://192.168.1.103:8081/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>nexus</activeProfile>
</activeProfiles>
这样就可以直接的使用私服下载啦,在私服下面下载的话速度飞快啊。然后对项目进行打包,mvn clean package命令即可,使用mvn clean install : 清除并编译源文件和测试源文件后, 再打包, 再安装到本地仓库打包好的东西会放到本地仓库中,下次就不用在打包就可以直接使用啦。然后我们可以在对应的pom.xml中配置好对应的信息就可以使用我们打包的代码啦。eg:
<dependency>
<groupId>com.yc.hello</groupId>
<artifactId>Hello</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
总的来说,maven学的还是挺有意思的,加油!!!