有段时间没有发表博客了,今天先说下maven的学习情况吧,昨天刚刚入门,今天上午进行了复习,下午对咖啡兔的Activiti的Demo进行调整,总算是可以跑通了,期间有知道了一个可以在内存中的数据库H2,同时简单了解了下学习情况。
由于学习Activiti的时候可能会用到maven,即使暂时用不到,但是随着目前软件业的发展,我想maven是个趋势。
首先需要知道maven是用来干什么的,maven是Apache旗下的一个开源的项目管理工具,使用存Java编写。采用了一种POM(Project Object Model)来对项目进行管理,所有的项目配置信息比如版本号、构建文件编码类型、测试工具等。通过该文件,可以对项目的整个周期进行管理,包含编译、构建、测试和发布、报告等。maven本身也支持多种插件,可方便灵活的控制项目。
首先第一步:去apache的官网下载http://maven.apache.org/download.cgi ,现在最新的版本是3.10,我下载的也是3.10的;
第二步:下载完成,解压缩,配置path,MAVEN_HOME,MAVEN,MAVEN_PATH=Maven安装路径,MAVEN=Maven安装路径\bin,path=%MAVENPATH%,path代表的意义不用说了,是系统在任何路径下均可以识别mvn命令,MAVEN_PATH,运行tomcat,eclipse都需要此变量,MAVEN,这个我真不清楚,不过我猜测应该是跟path的功能类似(要是不对麻烦帮我指正下)。我电脑上的配置信息为:
MAVEN_HOME=D:\WorkSoftPackgae\apache-maven-3.1.0
MAVEN=%MAVEN_HOME%\bin
path=...;%MAVEN_HOME%\bin
第三步:设置MAVEN_OPTS,这个环境变量代表的意义是分配给maven的内存大小,因为Java默认的内存往往不能满足Maven运行的需要,因为如果项目较大时,使用Maven生成项目站点需要占用大量的内存,容易造成java.lang.OutMemoryException。因此,一开始就设置变量时推荐的做法,这里这个变量值可以设置为:-Xms128m -Xms512m.即运行内存设置为128-512M。
第四步:检测maven是否安装成功,在cmd中使用mvn -version命令。如果可以打印出maven的版本信息,则证明配置成功,可以正常使用maven,否则,请返回第二步;成功则如下图
第五步:创建一个新工程,(mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app),工程名字为my-app。首次使用maven,maven将要花一些时间去把最新的工具包(Maven 把它叫作artifacts)下载到你的本地仓库。
第六步:build工程,进入到my-app目录,cd my-app,执行mvn package,完成项目构建。
第七部:运行构建都的工程,java -cp target/my-app-1.0-SNAPSHOT.jar com.mycompany.app.App,此时,会打印出大名鼎鼎的hello world!如下图:
一个小的入门案例就算结束了。下面说下maven的工作原理:maven是通过远程仓库和本地仓库以及pom.xml,将pom中定义的jar文件从远程仓库下载到本地仓库,各个应用都是使用本地仓库的jar包,而且避免了每个应用都去拷贝jar包。即只保留最核心的部分,其余的功能都是通过插件提供,所以maven下载量也比较小。
pom.xml文件部分标签解释(没有解释的就是我还没搞清楚的,请同行指正):