maven使用教程
来源:互联网 发布:美国非农数据公布时间一览表 编辑:程序博客网 时间:2024/05/20 17:25
maven集成tomcat的插件
在工程的pom文件中添加如下内容:
<build>
<!-- 配置插件 -->
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<configuration>
<!-- 配置访问端口 -->
<port>8080</port>
<!-- 配置访问路径‘/’ 不需要输入项目名访问 -->
<path>/</path>
</configuration>
</plugin>
</plugins>
</build>
启动工程:
使用maven命令:
clean tomcat7:run
tomcat7指定使用tomcat7的插件。
注意:需要把依赖工程安装到本地仓库。右键依赖项目---->runas---->maven Install
1 什么是maven
Maven是一个跨平台的项目管理工具,主要用于基于java平台的项目构建,依赖管理。
解决的项目的问题:
1、 如果有好几个项目,这好几个项目中,需要用到很多相同的jar包,能不能只建立一个仓库来解决这个问题?
2、测试方法能不能全部运行呢?
3、怎么样把一个模块的功能放入到仓库中
2 Maven的安装与配置
2.1 Maven的安装
2.1.1 Jdk的情况
Jdk必须1.6以上的版本
2.1.2 从官网下载maven
从http://maven.apache.org/官网上下载最新版本的maven
2.1.3 设定path路径
把下载下来的maven解压缩,然后有一个bin文件夹,这是一个bin的文件夹的目录
F:\work\course\maven\maven\bin把该目录追加到环境变量的path中。
2.1.4 利用命令行检查是否成功
2.2 建库
2.2.1 先打开路径
C:\Users\Think\.m2
2.2.2 把settings.xml文件复制到上述的路径中
F:\work\course\maven\apache-maven-3.0.5-bin\apache-maven-3.0.5\conf
有一个settings.xml文件,复制到C:\Users\Think\.m2
2.2.3 修改settings.xml文件
<localRepository>F:/work/course/maven/mavenRepository/</localRepository>
指定仓库的路径
在这里mavenRepository就是仓库的路径
2.3 Maven的配置
说明:
bin中存放可执行的二进制文件
conf存放settings.xml文件
lib 运行maven所依赖的jar包
2.4 maven的约定
src/main/java 存放项目的java文件
src/main/resources 存放项目的资源文件,如spring,hibernate的配置文件
src/test/java 存放所有的测试的java文件
src/test/resources 存放测试用的资源文件
target 项目输出位置
pom.xml 文件
3 maven项目
3.1 hello项目
3.1.1 在myeclipse建立一个项目Hello
3.1.2 创建一个包cn.itcast.maven,并在该包下创建一个类
3.1.3 编写Hello类
3.1.4 在src/test/java中创建一个包cn.itcast.maven,创建一个测试类HelloTest
3.1.5 编写测试类
3.1.6 编辑pom.xml文件
说明:
project:表示一个工程
modelVersion:为版本号
3.1.7 用maven命令编译项目(mvn compile)
3.1.8 target文件夹的变化:看到编译后的文件全部放入到了target里。
3.1.9 clean:执行命令mvn clean,可以看到target的目录没有了。
3.1.10 test
执行mvn test命令
说明执行成功了,并且运行了一个类,再次看target的结构
说明:
target/classes
存放编译后的类
target/test-classes
存放编译后的测试类
target/surefire-reports
存放测试报告
可以看出,只要进行测试,清理和编译可以自动执行了。
3.1.11 package:执行mvn package
说明:
target/classes
编译后的类的路径
target/test-classes
编译后的测试类的路径
target/surefire-reports
测试报告
target/maven-archiver
执行package的归档
Hello-0.0.1-SNAPSHOT.jar
执行完package命令后打成的jar包
3.2 Hellofriend项目
3.2.1 建立HelloFriend项目工程
3.2.2 编写pom.xml文件
3.2.3 执行mvn compile命令
执行这个命令的时候会出错,因为HelloFriend项目是建立在Hello项目基础之上的,但是现在工程中没有引入Hello.java这个类。所以会出错。
3.2.4 执行mvn clean install命令
1、 打开命令行
2、 把当前路径调节到Hello工程的根目录
3、 执行mvn clean install命令,把Hello整个工程放入到仓库中
如果执行成功,则会在仓库中看到。
3.2.5 执行mvn package命令打包HelloFriend工程
可以看到成功以后,在target目录下多了一个jar包
该jar包为当前工程的jar包。
3.2.6 建立cn.itcast.maven包及HelloFriend类
3.2.7 编辑HelloFriend类
3.2.8 建立cn.itcast.maven包和测试类HelloFriendTest类
3.2.9 编辑HelloFriendTest类
3.2.10 执行mvn package命令
4 maven的核心概念
4.1 项目对象模型
说明:
maven根据pom.xml文件,把它转化成项目对象模型(POM),这个时候要解析依赖关系,然后去相对应的maven库中查找到依赖的jar包。
在clean,compile,test,package等阶段都有相应的Plug-in来做这些事情。
而这些plug-in会产生一些中间产物。
4.2 插件的位置
在maven解压后的位置F:\work\course\maven\maven有一个bin文件夹,里面有
一个文件m2.config文件
set maven.home default ${user.home}/m2,其中该路径指明了仓库的存储位置。
其中settings.xml文件中
这个说明了仓库中的位置。
4.3 maven坐标
4.3.1 maven坐标的主要组成
groupId:定义当前maven项目属于哪个项目
artifactId:定义实际项目中的某一个模块
version:定义当前项目的当前版本
packaging:定义当前项目的打包方式
根据这些坐标,在maven库中可以找到唯一的jar包
4.4 依赖管理
4.5 继承管理
4.6 仓库管理
可以根据maven坐标定义每一个jar包在仓库中的存储位置。
大致为:groupId/artifactId/version/artifactId-version.packaging
4.6.1 仓库的分类
本地仓库
~/.m2/repository/
每一个用户也可以拥有一个本地仓库
远程仓库
中央仓库:Maven默认的远程仓库
http://repo1.maven.org/maven2
私服:是一种特殊的远程仓库,它是架设在局域网内的仓库
镜像:用来替代中央仓库,速度一般比中央仓库快
5 maven在myeclipse中的应用
5.1 环境配置
myeclipse自带maven,从上图看以看到Maven JDK是可以配置的。
我们可以利用myeclipse自带的maven,也可以使用自己的maven。
5.2 settings.xml文件
5.2.1 仓库的路径
通过配置localRepository的值可以改变仓库的路径。
5.2.2 配置私服的路径
5.2.3 直接连接互联网
如果不想连接私服,可以直接连接互联网。只需要把连接私服的所有的路径去掉即可。
5.3 创建maven工程
5.3.1 创建java project
选择Maven Project
选择快速创建maven-archetype-quickstart
填写group ID,Artiface Id,Version,Package属性
然后点击finish就可以了。
5.3.2 创建web project
新创建一个web project
添加maven support即可。
- maven快速使用教程
- Maven使用教程
- Maven使用教程
- maven使用教程
- Maven使用教程
- maven使用教程
- Maven使用教程
- myeclipse使用maven教程
- Maven使用教程
- Maven使用教程
- Maven使用简易教程
- Maven使用教程
- Maven使用教程
- Maven使用教程
- Maven使用教程
- Maven使用教程
- 使用maven教程
- Maven使用教程
- CodeForces
- 利用postman进行接口测试并发送带cookie请求的方法
- Linux学习总结(35)——CentOS 7.X设置服务开机启动
- react native 导航
- SPFA模板
- maven使用教程
- JavaScript对象小基础
- 梯度上升与梯度下降
- C++ primer 读书笔记四
- HTML+CSS编写静态网站-41 上传网站到Github
- Jdbc连接mysql数据库
- 第四封信 / 海风啊为何总是带来哭泣
- [BZOJ1510]遇见
- VS2015 编译和使用 gRPC