本来一直对Maven不怎么上心,但是昨天在研究CXF3.0时,发现里面的demo都是使用的Maven,而我自己在搭建传统的web项目实现CXF时,为了解决jar包冲突的问题,白白花了几个小时的时间还是一无头绪的时候,我屈服了。而当我看见CXF里面的simple包中的示例代码中,只是在pox.xml中配置几行代码就解决jar包问题的时候,我深深地为maven的简单,优雅而震惊了。这是驱使我尽快掌握Maven的重要动力。
话不多说,首先开始所有技术框架使用的第一步,开发环境的搭建。
----------------准备工作-------------
以上java开发环境。
一个。
下载地址: http://maven.apache.org/docs/3.0.3/release-notes.html
第一步:配置maven环境
maven环境
jdk的话,这里对你应该不难。如我的maven环境为:F:\maven\apache-maven-3.0.3
-----属性----高级-----环境变量-----环境变量-----新建
变量名:M2_HOME
变量值:F:\maven\apache-maven-3.0.3
path
;%M2_HOME%\bin;---前面注意分号
path 路径下加入:;F:\maven\apache-maven-3.0.3\bin 只是上面的方式更优雅一点。
我新建立
---运行---cmd),检查我们的java环境和maven环境是否有误。
第二步:修改仓库位置
jar包。
这个路径是我自己创建,你可以将路径创建在任何位置。
目录下的setting.xml文件,设置成我们创建的仓库路径
mvn help:system
java系统属性和环境变量。这些信息对我们日常的编程工作很有帮且。
maven的中央仓库下载到本地仓库的。
本来正常节奏这里应该开始谈Maven项目的建立,但是我觉得Maven建立是个非常关键和大的话题,留在下次专门介绍。最后我想对Maven中最关键的配置文件pox.xml做下具体介绍。
第三步:pox.xml配置文件详解
Ø project:pom.xml文件中的顶层元素,主要是指定xml文件中的Maven标签规范,自动生成,不用更改,知道是什么就行;
Ø modelVersion:指明POM使用的对象模型的版本。这个值很少改动。
Ø groupId:指明创建项目的组织或者小组的唯一标识。GroupId是项目的关键标识,典型的,此标识以组织的完全限定名来定义。比如,org.apache.maven.plugins是所有Maven插件项目指定的groupId。
Ø artifactId:指明此项目产生的主要产品的基本名称。注意:新建maven项目时,会将这个值作为项目名称。 象源代码包通常使用artifactId作为最后名称的一部分。典型的产品名称使用这个格式: <artifactId>- <version>. <extension>(比如:myapp-1.0.jar)。
Ø version:项目产品的版本号。Maven帮助你管理版本,可以经常看到SNAPSHOT这个版本,表明项目处于开发阶段。
Ø packaging:用来指定项目打包后的压缩格式,如jar,war。一般web项目会打成war包,app应用会打成jar包。注意:packaging值在新建maven项目的时候有些不支持指定格式,所以在新建了maven项目后最好检查下。
Ø name:项目的显示名称,通常用于maven产生的文档中。
Ø url:指定项目站点,通常用于maven产生的文档中。
Ø description:描述此项目,通常用于maven产生的文档中。
对于一个项目中只有下面的一部分是是我们需要关注的:
<groupId>com.chongshi.test</groupId>
<artifactId>hello</artifactId>
<version>1.0</version>
第四步:编译项目代码
这一节可以选择跳过,我个人是很讨厌这种cmd窗口下的命令执行方式的。后期会介绍使用Maven插件直接在Eclipse上完成Maven项目的打包编译操作。
我们的项目已经创建完成。但我们点开目录发现,它并不是我们eclipse所需要的项目目录格式。我们需要把它构建成我们eclipse可以导入的项目。
在命令提示符下进入到我们的创建的项目目录(F:\maven\hello)下,执行:mvn clean compile
Clean 告诉maven清理输入出目录target/,compile告诉maven编译项目主代码。
不要急,我们又需要一段时间来下载,相关jar包。^_^!第一次用maven要学会淡定。
项目是编译完了,但项目的目录结构还不是我们想要的eclipse的项目结构,是不能导入到eclipse中的。所以,还需要执行一个命令:mvn eclipse:eclipse
命令执行完成后就得我们需要的项目目录了。
第五步:导入eclipse工具
这里主要是介绍导入项目前,对Eclipse中maven本地仓库的配置。
打开的我们的eclipse工具。
先配置maven仓库路径
Window----Perferences-----java-----Build Path-----Classpath Variables
New一个变量的类路径。
M2_REPO 注意这个名字必须要大写。
F:/maven/repo 点击“Folder…”找到有本地仓库的位置。
3)导入Maven项目
在Eclipse project explorer中右击,在弹出框中选择import,得到如下图所示:
选择Existing Maven Projects,并点击Next,得到如下图所示对话框:
选择一个已经创建好的Maven项目,并点击Finish。
由此,导入Maven项目成功
下面,可以导入我的hello项目了。Eclipse如何导入项目,我这里就不说了,如果你是个java开发人员的话。
第六步、 运行Maven命令
右击项目,点击Run as,如下图:
即可看到有很多现有的maven命令,点击即可运行,并在控制台可以看到运行信息
如果你想运行的maven命令在这里没有找到,点击Maven build创建新的命令,操作如下图所示:
如下图填入Maven命令,点击Run即可
新增的maven命令可以通过如下方式找到,并再次运行:
第七步:包的更新与下载
打开项目发现我们junit 是3.8.1的,有点老了。那我想换成4.7的,如何通过maven的方式更换呢。其实,很简单,打开我们项目下的的pom.xml文件。
更改变,junit的版本号,然后重新执行:mvn eclipse:eclipse
中央仓库地址:http://search.maven.org
struts 的jar包。在搜索框内搜索strruts ,会要列出中央仓库中的所有struts版本。
pom.xml配置文件的格式是对应的。
我们在pom.xml中加入:
<groupId>stuts</groupId>
<artifactId>struts-scripting</artifactId>
<version>1.0.1</version>
然后更新项目就可从中央仓库下载我们想要的任意jar包(必须是开源的包)