安装Maven
下载—解压—配置maven环境变量—安装配置jdk (不能低于jdk7)
配置参数:maven/conf/setting.xml
配置本地仓库地址:(可自定义)
<localRepository>/Users/ning/workspace/maven_Repository</localRepository>
创建maven工程
maven工程结构:
project:
|—src(源码)
|—main
|—java (Java文件)
|—resources (资源文件)
|—test (测试)
|—target(存放class文件、报告等)
|—pom.xml (maven工程的描述文件)
Maven命令的使用
maven命令要在pom.xml所在的目录执行
—> mvn compile /target 下生成class
—> mvn clean 清除编译好的class
—> mvn test 编译test 和main 下的java文件 ,并在/target/surefire-reports生成测试报告。
—> mvn package 在/target下生成jar包
—> mvn install 安装,会将生成的jar包安装到本地仓库,其他项目可以通过在pom.xml中指定GAV来使用该jar
M2Eclipse插件
myeclipse已经集成、eclipse需要自行安装、详见:http://www.eclipse.org/m2e/
设置插件:
1、在preferences中maven-> installations 指定本地的maven、而不是用集成的。
2、设置maven setting的文件的路径 (也可以使用默认的:~/.m2/settings.xml)
创建maven工程
new Project —> Maven Project —> next —>select archetype(选择maven骨架)
—>选择maven-archetype-quickstart (java项目) / maven-archetype-webapp(web项目)
—>next 设置GAV
生成的maven工程的目录结构:
工程右键执行maven命令:
点击run!
注意:如果报错:Check $M2_HOME environment variable and mvn script match.
需要设置$M2_HOME的环境变量执行maven的安装目录
并在window->Preference->java->Installed JREs->Edit 设置
-Dmaven.multiModuleProjectDirectory=$M2_HOME
再次运行即可。
Maven概念之GVA坐标
maven中的坐标就是为了定位一个唯一确定的jar。
在pom.xml中:maven坐标的组成:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.9</version>
<scope>test</scope> <!—设置编译的依赖范围-->
</dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.9</version>
<scope>test</scope> <!—设置编译的依赖范围-->
</dependency>
Maven概念之依赖范围
<scope>test</scope> <!—设置编译的依赖范围-->
1、compile :是默认编译的依赖范围
如果junit依赖如下:以为这在main下的java也可以使用junit
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.9</version>
<scope>compile</scope>
</dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.9</version>
<scope>compile</scope>
</dependency>
2、test : 测试的依赖范围
3、provided : 已提供依赖范围,对于编译测试有效,但对于运行无效
比如servlet-api 我们希望编译不保存,但不希望把servlet的相关jar打包进去,因为tomcat或者任意一个web容器都会提供该jar包,会出冲突,所以设置成provided。
4、runtime :运行时提供。如jdbc Driver