Maven入门
2019-12-26 16:01:38来源:博客园 阅读 ()
Maven入门
Maven入门
maven是一个基于java平台的跨平台项目管理工具,是Apache组织中一个颇为成功的开源项目
注意此处的项目管理不是某种工作岗位,而是描述程序员开发工作中的一部分;
为何需要maven
在日常开发工作中,开发者需要自行管理项目依赖,频繁的编译,清理,测试,打包,发布等等.....虽然IDE都提供了相应的支持,但也免不了我们需要,花很多时间进行这写重复且没有技术含量的工作,我们将上述这些过程统称为项目构建
Maven的出现正是为了将开发者从繁杂的项目构建中解放出来
Maven相关概念
POM(项目对象模型)
Maven整体采用的就是POM,既将项目看做一个对象,我们可以对这个项目对象进行相关属性的设置,从而来完成项目的管理
repository(仓库)
所有Maven项目都具备自己的坐标,包括组织ID,坐标ID和版本号,有了坐标后,可将项目放入仓库中,以供其他人使用,仓库就是用来存放这些项目的地方,分为本地仓库,和远程仓库,以及中央仓库
中央仓库也属于远程仓库,是有maven官方维护的仓库,是最完整的jar仓库,为了区别于其他仓库,所以称之为中央仓库
Dependency Management(依赖)
依赖指得是项目运行所必须的组件(jar,java,class),依赖管理是Maven提供的最核心的功能之一,可根据提供的项目坐标,自动的从仓库中下载需要的依赖,并且会帮助解决依赖冲突问题
Project Lifecycle(项目生命周期)
项目生命周期指得是项目从创建工程开始到最终部署到服务器的所有动作(程序员要干的事情)的总称,如编译,测试,打包,部署,生成项目站点等....
Maven对对这些动作进行了抽象,变成了一个个生命周期
下载安装
地址:https://maven.apache.org/download.cgi
下载后直接解压即可,如需要在CMD中使用需设置环境变量
也可直接在IDE中使用可视化操作
Maven使用步骤简述
- 创建Maven项目
- 指定仓库地址,以及配置文件
- 编辑pom.xml配置文件,(项目坐标,依赖,插件等...)
- 使用命令或插件来帮助完成要进行的构建工作
生命周期
生命周期动作其实是通过插件来完成的,所以Maven项目默认就存在与生命周期相关的几个插件
三个生命周期:
默认(default)的生命周期处理项目部署
清洁(clean)生命周期处理项目的清理操作
站点(site)生命周期处理项目站点文档的创建
阶段
每个生命周期下包含若干个阶段,以下列出重要阶段(不区分周期)
阶段 | 插件 | 作用 |
---|---|---|
clean | clean | 清理自动生成的文件,也就是 target 目录 |
validate | 由 Maven 核心负责 | 验证 Maven 描述文件是否有效 |
compile | compiler、resources | 编译 Java 源码 |
test | compiler、surefire、resources | 运行测试代码 |
package | war | 项目打包,就是生成构件包,也就是打 war 包 |
verify | 由 Maven 核心负责 | 验证构件包是否有效 |
install | install | 将构件包安装到本地仓库 |
site | site | 生成项目站点,就是一堆静态网页文件,包括 JavaDoc |
deploy | deploy | 将构件包部署到远程仓库 |
关于deploy
deploy是将打包的结果部署到服务器,因此需要指出服务器的地址,且通常需要提供用户名和密码
案例:
第一步:在要上传的模块的pom.xml文件中添加如下代码
<distributionManagement>
<repository>
<id>releases</id>
<name>internal releases</name>
<url>http://192.168.1.221:8081/repository/maven-releases</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>internal snapshot</name>
<url>http://192.168.1.221:8081/repository/maven-snapshots</url>
</snapshotRepository>
</distributionManagement>
第二步:在settings.xml中配置私服用户信息,要与上文的id相符合
<servers>
<server>
<id>releases</id>
<username>android-jinchuang</username>
<password>jinchuang</password>
</server>
<server>
<id>snapshots</id>
<username>android-jinchuang</username>
<password>jinchuang</password>
</server>
</servers>
在IDEA中使用Maven
查找需要的依赖
中央仓库地址:https://mvnrepository.com,我们可以在上面查找需要的jar包
选择版本
复制依赖
将复制的内容填写到pom.xml中的dependencies下即可
镜像仓库
Maven默认访问中央仓库来获取依赖,一些时候可能会很慢,我们可以在配置文件中添加镜像服务器来解决这个问题
需要强调的是,镜像仓库的jar包通常没有中央仓库齐全
在Maven安装路径/conf/settings.xml中找到mirrors标签添加内容
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
在IDEA中我们可以自定义仓库路径和配置文件
从上到下,分别是,Maven路径,配置文件,仓库路径
Web项目目录
运行生命周期
其他常用操作
- 重新导入Maven项目,相当于刷新
- 更新所有Maven项目资源和文件夹
- 下载依赖和源码
- 添加新的Maven项目
- 运行某个生命周期指令
- 运行自定义指令
- 显示依赖关系图
- 关闭已展开
运行WEB项目
Maven项目的运行与普通项目没有太大的区别,不过我们还可以通过Maven插件来运行web项目,tomcat和一些常见服务器都有Maven插件
需要强调的是,Tomcat的Maven插件,最后一次更新是8.x版本,如果要使用最新的web服务器还是需要单独下载
1.原始方式配置外部Tomcat
2.插件方式
? 2.1添加插件配置到pom.xml
<build>
<finalName>MavenP4</finalName>
<pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<port>8888</port>
<path>/</path>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
2.2添加运行配置
原文链接:https://www.cnblogs.com/yangyuanhu/p/12104990.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- logstash系列-入门整理 2020-06-10
- eclipse下创建Maven项目(包含webapp目录结构) 2020-06-09
- Maven安装与配置 2020-06-09
- Java 入门教程 2020-06-09
- RocketMQ4.4 入门进阶+实战 2020-06-08
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash