一直没有使用maven,它的作用就不说了,这二天需要用到,发现网上都是以前的版本,所以,我一边配置,一边记录.
一 下载maven
现在很多IDE自带了maven,网上很多牛人都说最好别用,我也没有测试有什么不合适的,信春哥得永生吧,自己下载一个,官网地址:http://maven.apache.org/ 下个最新版本
解压到想放置的目录,如:D:\developeTool\maven\apache-maven-3.2.5
二 设置环境变量
在path,中添加: D:\developeTool\maven\apache-maven-3.2.5\bin(类jdk设置)
在cmd:中输入mvn -v
如果出现版本信息
环境变量就算是设置成功.
三 maven仓库配置
默认情况下,jar包的本地库位置为:用户.m2\repository 我要为:C:\Users\zqs.m2\repository
不想让其占用系统盘,自建一个目录放置本地库,如:D:\developeTool\maven\houseware 目录名可以随便取
四 eclipse配置
eclipse4以上都带有maven,现在我要用我们的maven,在eclipse中需要配置一下,在windows /preferences下
maven –>installetions,指定目录:D:\developeTool\maven\apache-maven-3.2.5
maven –>user setting 指定配置文件:D:\developeTool\maven\apache-maven-3.2.5\conf\settings.xml
update setting 后,再在local repository中指定本地仓库:D:/developeTool/maven/houseware
maven的配置就算完成了!
现在做个示例测试一下
一 新建maven项目(不管是要创建java project or web project)
new –> other –>maven –>maven project
Next
java project 选择maven-machetype-quickstat ,web project选择maven-machetype-webapp ,Next
group id一般为com.公司.项目 artifact id:一般为模块名,版本一般选择:0.0.1-SNAPSHOT
自动生成的目录结构为:
测试一下
注意,第一次运行,要选择maven build.. (后面有二个点的)
输入清理和编译命令
第一次执行,会自动从本地库查找需要的jar包(如junit.jar),如果没有找到,就会到maven中心库上下载,所以可能时间有点久,第一次下载到本地后,以后执行时就会很快了.
执行结果如下:
再说说,添加jar包
如果项目需要用到更多的jar包,如SSH框架的jar包,只需要在pom.xml中添加几行配置文件即可
举二个例子:
一是改变版本. 自动生成的pom.xml中如下
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.chongshi.test</groupId>
<artifactId>hello</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
<name>hello</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
Ø project:pom.xml文件中的顶层元素;
Ø modelVersion:指明POM使用的对象模型的版本。这个值很少改动。
Ø groupId:指明创建项目的组织或者小组的唯一标识。GroupId是项目的关键标识,典型的,此标识以组织的完全限定名来定义。比如,org.apache.maven.plugins是所有Maven插件项目指定的groupId。
Ø artifactId:指明此项目产生的主要产品的基本名称。项目的主要产品通常为一个JAR文件。第二,象源代码包通常使用artifactId作为最后名称的一部分。典型的产品名称使用这个格式: - . (比如:myapp-1.0.jar)。
Ø version:项目产品的版本号。Maven帮助你管理版本,可以经常看到SNAPSHOT这个版本,表明项目处于开发阶段。
Ø name:项目的显示名称,通常用于maven产生的文档中。
Ø url:指定项目站点,通常用于maven产生的文档中。
Ø description:描述此项目,通常用于maven产生的文档中。
对于一个项目中只有下面的一部分是是我们需要关注的:
com.chongshi.test
hello
1.0
第四步:编译项目代码
我们的项目已经创建完成。但我们点开目录发现,它并不是我们eclipse所需要的项目目录格式。我们需要把它构建成我们eclipse可以导入的项目。
在命令提示符下进入到我们的创建的项目目录(F:\maven\hello)下,执行:mvn clean compile
Clean 告诉maven清理输入出目录target/,compile告诉maven编译项目主代码。
不要急,我们又需要一段时间来下载,相关jar包。^_^!第一次用maven要学会淡定。
项目是编译完了,但项目的目录结构还不是我们想要的eclipse的项目结构,是不能导入到eclipse中的。所以,还需要执行一个命令:mvn eclipse:eclipse
命令执行完成后就得我们需要的项目目录了。
第五步:导入eclipse工具
打开的我们的eclipse工具。
先配置maven仓库路径
Window—-Perferences—–java—–Build Path—–Classpath Variables
New一个变量的类路径。
Name :M2_REPO 注意这个名字必须要大写。
Path :F:/maven/repo 点击“Folder…”找到有本地仓库的位置。
下面,可以导入我的hello项目了。Eclipse如何导入项目,我这里就不说了,如果你是个java开发人员的话。
第六步:包的更新与下载
打开项目发现我们junit 是3.8.1的,有点老了。那我想换成4.7的,如何通过maven的方式更换呢。其实,很简单,打开我们项目下的的pom.xml文件。
复制代码
复制代码
……
junit
junit
4.8.1
test
……
复制代码
复制代码
更改变,junit的版本号,然后重新执行:mvn eclipse:eclipse
Maven 中央仓库地址:http://search.maven.org
假如,我们想下载一个struts 的jar包。在搜索框内搜索strruts ,会要列出中央仓库中的所有struts版本。
列表的格式与我们pom.xml配置文件的格式是对应的。
我们在pom.xml中加入:
stuts
struts-scripting
1.0.1
然后更新项目就可从中央仓库下载我们想要的任意jar包(必须是开源的包)
继续学习内容:
如何创建一个web项目?
如果想让maven应用到项目开发中,这个是必须的。
如何使用jeety?
maven提供的一个容器,类似于tomcat
如何创建一个代理仓库?
如果是团队开发,这个很有必要,我们不可能每次都到中央仓库拿包,那样很慢,如果开发人员A已经下了某包,开发人员B还要下;创建代理仓库,A第一次下的包会存入代理仓库中,B要用时直接从代理仓库取就行。