使用Maven构建JavaEE项目
Posted 天际一片云
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Maven构建JavaEE项目相关的知识,希望对你有一定的参考价值。
学习要点
- Maven简介
- Maven构建项目
- MyEclipse中Maven的使用
Maven简介
Maven作用
- 对第三方依赖库进行统一的版本管理
- 统一的目录结构,统一各平台各IDE目录
- 统一的软件构建阶段
Maven是项目构建工具
- 定义项目的组成、管理项目依赖和发布
下载Maven
- 下载地址:http://maven.apache.org/download.cgi
安装Maven
设置系统环境变量
新增MAVEN_HOME变量,值:D:\\apache-maven-3.5.2
PATH添加 %MAVEN_HOME%\\bin;
验证安装
使用命令:
mvn help:system //推荐设置完成maven的settings.xml文件后再执行
或者:
mvn -v
Maven构建项目
Maven运行环境配置文件settings.xml
- 定义Maven的全局环境信息
范围
- 全局范围:D:\\apache-maven-3.5.0\\conf\\settings.xml
- 用户范围:C:\\Users\\Administrator\\.m2\\settings.xml
- 读取配置:全局范围和用户范围的并集。用户优先级高。一般修改用户配置文件。
仓库
本地仓库:
- 使用localRepository元素更改
远程仓库:
- 中央仓库:https://repo.maven.apache.org/maven2/
- 镜像仓库:使用mirrors元素添加
- 推荐使用阿里云镜像仓库,在用户settings.xml添加以下镜像
<mirror> <!--This sends everything else to /public --> <id>nexus</id> <mirrorOf>*</mirrorOf> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> </mirror><mirror> <!--This is used to direct the public snapshots repo in the profile below over to a different nexus group --> <id>nexus-public-snapshots</id> <mirrorOf>public-snapshots</mirrorOf> <url>http://maven.aliyun.com/nexus/content/repositories/snapshots/</url> </mirror>
JDK版本修改:
默认为1.4,<profiles>节点中增加以下节点配置
<profile> <id>jdk-1.8</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.8</jdk> </activation> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> </properties> </profile>
Maven项目配置文件pom.xml
节点 |
含义 |
project |
POM文件的顶级元素 |
modelVersion |
POM模型版本。描述pom文件所遵循的POM版本。一般填写为4.0.0 |
groupId |
项目组织的唯一标识。通常是域名倒写。 |
artifactId |
项目唯一标识。对应项目名称。 |
version |
artifact的版本。groupId、artifactId、version三者唯唯一确定artifact。 |
packaging |
默认值是jar。标识maven会将项目打包成一个jar。 |
dependencies |
表示依赖,在子节点dependency中添加具体依赖的项目。 |
build |
构建选项 |
Maven命令
- 常用命令
命令格式 |
功能 |
mvn archetype:generate |
创建maven项目 |
mvn compile |
编译源代码 |
mvn test-compile |
编译测试代码 |
mvn test |
运行测试 |
mvn package |
打包项目 |
mvn install |
安装到本地仓库 |
- 使用maven命令构建一个控制台项目
1.创建maven调试临时目录E:\\Temp\\Maven,在cmd窗口进入该目录
2.选择创建项目类型(从远程获取或者从本地选择)
- 远程获取:mvn archetype:generate –x #-x用于查看调试信息
- 本地选择:mvn archetype:generate –DarchetypeCatalog=internal
3.本地选择7——quickstart项目类型(控制台)。输入POM项目信息
4.生成标准maven项目
5.编译HelloWord项目
进入HelloWord目录,mvn编译命令需要依赖POM.xml文件。
编译成功
6.测试编译完成的HelloWord项目
输入命令mvn test进行测试,获得测试结果。
测试结果分析:
7.打包HelloWord项目
打包成功,获得项目jar文件
8.运行HelloWord-1.0.jar项目
- 使用install命令安装java类库到本地仓库
例如ojdbc6.jar无法在远程仓库获取,需要手动安装到本地仓库。
1.把odjdbc6.jar从Oracle安装目录拷贝到Temp(便于安装)
2.输入以下安装命令(需要取消换行)
mvn install:install-file -Dfile=e:\\Temp\\ojdbc6.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0 -Dpackaging=jar -DgeneratePom=true
3.进入本地参查看安装完成情况
Maven4MyEclipse插件的使用
- 创建web项目
创建Maven项目。
- 添加web项目依赖
查找依赖官网:http://mvnrepository.com/
- 项目部署
部署到tomcat,和非maven项目无差异。
- junit测试
Maven项目测试需要修改项目属性。非maven工程的项目编译后的.class文件会在/webapp/WEB-INF/classes目录下;maven工程项目编译后的.class文件应该是在/target目录下,源代码的输出应该是/target/classes目录,而测试代码的输出则应该是/target/test-classes目录。修改如下图所示:
- 项目打包
项目run as à run Configurations使用内置的maven打包。
myeclipse 10.6和myeclipse2014 无法与maven 3.5 兼容。
解决方案:将maven3.5 调低如maven3.2.2 即可。
Maven标准目录结构
目录 |
说明 |
src/main/resources |
资源文件目录。例如application.xml、struts.xml |
src/main/java |
Java源代码目录。 |
src/test/java |
测试用例代码目录。 |
src/test/resources |
测试用例相关资源目录。 |
src/main/webapp |
Web项目根目录。 |
target |
编译构建输出目录。 |
以上是关于使用Maven构建JavaEE项目的主要内容,如果未能解决你的问题,请参考以下文章
maven web项目的web.xml报错The markup in the document following the root element must be well-formed.(代码片段
Maven:javaee-api 与 jboss-javaee-6.0