在开发过程中会用到maven,所以对maven进行了简单的学习。
准备工作
- Jdk1.5以上的java开发环境
第一步:配置maven环境
将下载的文件加压,然后设置maven环境,对于有java开发经验的人,应该是很easy的。如的maven的环境是: G:\maven\apache-maven-3.3.1
我的电脑----属性----高级----环境变量----新建变量名:M2_HOME
变量值:G:\maven\apache-maven-3.3.1
找到path环境变量
在环境的变量的尾部加上:;%M2_HOME%\bin;,注意前面的分号哦,当然你也可以直接在path路径的尾部直接加上 G:\maven\apache-maven-3.3.1\bin,只是上面的方式更优雅一点。打开命令提示符(开始----运行----cmd),检查maven环境是否配置成功。运行下面命令
mvn -v
Apache Maven 3.3.1 (cab6659f9874fa96462afef40fcf6bc033d58c1c; 2015-03-14T04:10:27+08:00)Maven home: G:\maven\apache-maven-3.3.1Java version: 1.7.0_09, vendor: Oracle CorporationJava home: C:\Java\jdk1.7.0_09\jreDefault locale: zh_CN, platform encoding: GBKOS name: "windows 8", version: "6.2", arch: "x86", family: "windows"
第二步:修改仓库位置
接下来需要修改下仓库地址,仓库用于存放我们项目所以来的所有的jar
我的仓库路径:G:\maven\repo,这个路径你可以随便创建。 打开maven的安装目录,进入到G:\maven\apache-maven-3.3.1\conf,编辑setting.xml文件,设置我们创建的仓库路径G:/maven/repo
设置完成之后,可以用一个命令验证一下。在命令提示符中执行:
mvn help:system
这个命令会打印出所有的java系统属性和环境变量。如果运行没有错误,在我们创建的那个仓库目录中会多出很多文件、这些文件就是从maven的中央仓库下载到本地仓库的。
第三步:创建一个maven项目
在命令提示符中执行:
mvn archetype:generate -DgroupId=com.app -DartifactId=first-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
对上面命令解释一下:
-DgroupId 组织标识(包名)-DartifactId 项目名称-DarchetypeArtifactId 指定ArchetypeId,maven-archetype-quickstart,创建一个Java Project;maven-archetype-webapp,创建一个Web Project-DinteractiveMode 是否使用交互模式
ps:因为是第一次构建项目,所有依赖的jar包都要从maven的中央仓库去下载,所以需要等待一段时间。
标准maven项目的结构
└─src ├─main │ └─java │ └─com │ └─app └─test └─java └─com └─app
src/main/java 存放项目的源代码
src/test/java 存放测试源代码 如果要存放一些配置文件,可以再建立一个目录src/main/resource存放,如存放log4j.properties等顺便了解下pom.xml文件。
pom.xml包含了项目构建的信息,包括项目的信息、项目的依赖等。 pom.xml文件是可以继承的,大型项目中,子模块的pom.xml一般都会继承于父模块的pom.xml刚创建的项目中pom.xml内容如下:
4.0.0 com.app first-app jar 1.0-SNAPSHOT first-app http://maven.apache.org junit junit 3.8.1 test
节点元素说明
pom文件的顶级节点 object model版本,对Maven2和Maven3来说,只能是4.0.0 项目创建组织的标识符,一般是域名的倒写 定义了项目在所属组织的标识符下的唯一标识,一个组织下可以有多个项目 打包的方式,有jar、war、ear等 当前项目的版本,SNAPSHOT,表示是快照版本,在开发中 项目的名称 项目的地址 构建项目依赖的jar 项目的描述
Maven参数
-D 传入属性参数
-P 使用pom中指定的配置 -e 显示maven运行出错的信息 -o 离线执行命令,即不去远程仓库更新包 -X 显示maven允许的debug信息 -U 强制去远程参考更新snapshot包 例如 mvn install -Dmaven.test.skip=true -Poracle 其他参数可以通过mvn help 获取
Maven常用命令
mvn clean # 清理项目生产的临时文件,一般是模块下的target目录
mvn compile # 编译项目主代码 mvn test-compile # 编译测试代码 mvn package # 项目打包工具,会在模块下的target目录生成jar或war等文件 mvn test # 测试命令,或测试src/test/java下junit的测试用例 mvn site-deploy # 生产站点目录并打包 mvn install # 模块安装命令,将打包的jar/war文件复制到你的本地仓库中,供其他模块使用 mvn clean package # 先清除再打包 mvn # 打成jar包 -Dmaven.test.skip=true # 跳过测试(同时会跳过test compile) mvn deploy # 发布命令,将打包的文件发布到远程,提供其他人员进行下载依赖 mvn eclipse:eclipse # 生成eclipse配置文件,导入到eclipse开放 mvn archetype:generate # 说明如下: 模块创建命令, 执行命令后,会提示选择创建项目的模版,这里选18(maven-archetype-quickstart)
- 后面会提示你输入groupId(包存放的路径): eg:com.test
- 提示输入artifactId(模块名称): eg:test-core
- 提示输入version(版本): 1.0.0-SNAPSHOT
- 提示输入package(指项目中基本的包路径): eg:com.test
- 提示确认,回车即可
mvn help:help # 查看帮助信息
创建web项目的命令如下:
mvn archetype:generate -DgroupId=com.app -DartifactId=first-web-app -DarchetypeArtifactId=maven-archetype-webapp -DinteractivMode=false