学习要点

  • 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项目的更多相关文章

  1. Maven学习- 使用Maven构建Web项目

    从网上查了一些资料,才算明白(也就是怎么操作吧),怎么使用Maven构建一个Web项目,找到一篇文档,主要都是从这里学到的: 下载地址:使用Eclipse构建Maven的Web项目.docx 现自己在 ...

  2. 使用Maven构建Android项目

    http://www.ikoding.com/build-android-project-with-maven/ 之前一直在做WEB前端项目,前段时间接手第一个Android项目,拿到代码之后,先试着 ...

  3. 转】用Maven构建Mahout项目

    原博文出自于: http://blog.fens.me/hadoop-mahout-maven-eclipse/ 感谢! 用Maven构建Mahout项目 Hadoop家族系列文章,主要介绍Hadoo ...

  4. 转】用Maven构建Hadoop项目

    原博文出自于: http://blog.fens.me/hadoop-maven-eclipse/ 感谢!   用Maven构建Hadoop项目 Hadoop家族系列文章,主要介绍Hadoop家族产品 ...

  5. 使用Eclipse maven构建springmvc项目

    Eclipse maven构建springmvc项目 Listener 监听器 架构 使用Log4J监控系统日志邮件警报 2014-12-16 13:09:16 控制器在完成逻辑处理后,通常会产生一些 ...

  6. Maven学习:Eclipse使用maven构建web项目(转)

    Maven学习:Eclipse使用maven构建web项目(转) 8.更改class路径:右键项目,Java Build Path -> Source 下面应该有4个文件夹.src/main/j ...

  7. 利用Eclipse中的Maven构建Web项目(三)

    利用Eclipse中的Maven构建Web项目 1.将Maven Project转换成动态Web项目,鼠标右键项目,输入"Project Facets" 2.依据Dynamic W ...

  8. Eclipse Maven构建WebApp项目资源目录显示不全的原因与解决方式

    一.问题展示 1.Eclipse在使用Maven构建WebApp项目的时候,首先Maven的安装和配置都没有问题的,但是构建项目之后,Maven项目要求的几个必须要有的资源目录显示不了: 问题如下图: ...

  9. 利用Eclipse中的Maven构建Web项目报错(二)

    利用Eclipse中的Maven构建Web项目 1.错误描述 [INFO] Scanning for projects... [INFO] [INFO] Using the builder org.a ...

随机推荐

  1. qq截图原理

    屏幕截图实现的大体思想是:发起截图时,将当前窗口的图像保存到内存中,然后弹出一个置顶的全屏窗口,将保存的桌面图片绘制到这个全屏窗口上:初始时绘制的是灰化的桌面图像,选择截图区域后,则将选中的区域绘制成 ...

  2. (4)ASP.NET Core 中间件

    1.前言 整个HTTP Request请求跟HTTP Response返回结果之间的处理流程是一个请求管道(request pipeline).而中间件(middleware)则是一种装配到请求管道以 ...

  3. POJ2371【水题】

    mdzz- wa了一发,没看清题意,真是智障 //#include <bits/stdc++.h> #include<iostream> #include<string. ...

  4. poj3181【完全背包+整数拆分】

    题意: 给你一个数n,在给你一个数K,问你这个n用1-k的数去组合,有多少种组合方式. 思路: 背包重量就是n: 那么可以看出 1-k就是重物,价值是数值,重量是数值. 每个重物可以无限取,问题转化为 ...

  5. 黑客攻防技术宝典web实战篇:攻击数据存储区习题

    猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 如果要通过实施 UNION 攻击.利用 SQL 注入漏洞获取数据,但是并不知道最初的查询返 ...

  6. 手机测试用例-wap测试用例

    Software Test Case P/F comment tester test time P/F comment tester ID 功能描述 操作步骤 预期结果 备注 wap_001 wap ...

  7. <a>标签 href和onclick

    先执行onclick函数,如果onclick函数正常,则跳转到href所指明的url,否则什么事情都不做 还是不行,尚未解决

  8. Incorrect string value: '\xE8\x8B\x8F\xE6\x99\xA8...' for column 'user_name' at row 1

    前端插入数据的时候报如下错误: Incorrect string value: '\xE8\x8B\x8F\xE6\x99\xA8...' for column 'user_name' at row ...

  9. python之类的相关名词-继承-

    继承:父类有的功能,子类继承后也都有 继承是直接把父类方法写入子类的object里 如果定义的类有很多重复的功能,可以把重复的类定义成父类 静态方法:不需要实例化就可以调用,不可以调用类里面的变量和方 ...

  10. Milking Grid POJ - 2185 || 最小覆盖子串

    Milking Grid POJ - 2185 最小覆盖子串: 最小覆盖子串(串尾多一小段时,用前缀覆盖)长度为n-next[n](n-pre[n]),n为串长. 当n%(n-next[n])==0时 ...