Maven是一个Java项目管理工具,全部的项目配置信息都被义定在一个叫做pom.xml的件文中,它覆盖了项目的整个生命周期,包括项目建立、编译、测试、发布。
一、前言
当使用eclipse的时候,会发现可以直接导入Maven项目,
是因为这个IDE默认有Maven插件(我下的是J2EE版的)
但是对于一个管理工具来说,在IDE中使用只是方便开发,从管理的角度来看,命令行也是需要的。
二、Maven的安装
百度搜索一下了.
三、Maven创建命令
1、创建命令:Maven 3.0.5版本以前使用mvn archetype:generate,3.0.5版本以后使用mvn archetype:generate
在一个目录下执行创建项目命令。
创建Java项目:
mvn archetype:generate -DgroupId=com.my.java.app -DartifactId=my-javaapp -DarchetypeArtifactId=maven-archetype-quickstart
创建web项目:
mvn archetype:generate -DgroupId=com.my.web.app -DartifactId=my-webapp -DarchetypeArtifactId=maven-archetype-webapp
参数:
groupId:总项目名称
artifactId:子项目名称
archetypeArtifactId:使用项目的模版,每一个模版都会建立相应的目录结构和一些通用文件
在项目目录下:
mvn compile:编译源代码
mvn clean:清除编译文件(target目录被干掉了)
mvn test-compile:编译测试代码
mvn test:运行test目录下的测试用例
mvn package:会执行编译、测试、打包,当前工程的jar包放在target目录下
mvn install:会执行编译、测试、打包,将当前工程打包后的jar包存入本地仓库
四、仓库的概念
在Maven中,有本地库和中央库两个仓库。中央仓库默认是apache站点提供的公共库,本地仓库会将需要依赖的jar包下载到本地。
本地库在Maven安装目录下的conf/settings.xml里可以配置。
在公司里可以用nexus搭建私服中央库。通过内网来访问公司项目依赖的jar包。
五、目录结构
D:.
├─my-javaapp
│ │ pom.xml
│ │
│ ├─src
│ │ ├─main
│ │ │ └─java
│ │ │ └─com
│ │ │ └─my
│ │ │ └─java
│ │ │ └─app
│ │ │ App.java
│ │ │
│ │ └─test
│ │ └─java
│ │ └─com
│ │ └─my
│ │ └─java
│ │ └─app
│ │ AppTest.java
│ │
│ └─target
pom.xml:Maven核心文件
src/main/java:源代码路径
src/test/java:测试代码路径
target:编译后的class文件或打包文件路径
src/main/resources:(可选)配置文件路径