Maven(二):常用命令、依赖管理

Maven(二):常用命令、依赖管理

 

相关阅读:

Maven(一):安装与环境配置、使用Maven搭建web项目

Maven(二):常用命令、依赖管理

Maven(三):将web项目的war包热部署到远程Tomcat服务器

Maven(四):使用maven整合Spring+SpringMVC+Mybatis框架详细步骤

Maven(五):使用maven整合Struts2+Spring+Hibernate框架详细步骤


 

在上一篇文章中,我们介绍了maven的安装配置与使用maven创建了一个web项目,现在,我们就稍微了解下maven工程的一些基础知识:

1、maven项目标准的目录结构:

Maven(二):常用命令、依赖管理

对项目进行细分:

Maven(二):常用命令、依赖管理

 

2、maven的常用命令:

maven常用的命令主要有:clear,compile,test,package,install,deploy。

(1)clean:清理:将项目根目录下的targer目录清理掉

Maven(二):常用命令、依赖管理

(2)compile:编译:将项目中的.java文件编译为.class文件

Maven(二):常用命令、依赖管理

(3)test:单元测试:将项目根目录下src/test/java目录下的单元测试类都会执行,单元测试类名有要求:XxxTest.java

Maven(二):常用命令、依赖管理

(4)package:打包:将项目打包,打包到项目根目录下target目录:

web project —war包

java project —jar包

(5)install:安装:打包到本地仓库,解决本地仓库多个项目公用一个jar包

(6)maven项目的生命周期:

在maven中存在“三套”生命周期,每一套生命周期相互独立,互不影响。在一套生命周期内,执行后面的命令,前面的操作会自动执行。

①CleanLifeCycle:清理生命周期:clean

②defaultLifeCycle:默认生命周期:compile、test、package、install、deploy

③siteLifeCycle:站点生命周期:site

 

3、依赖范围:

maven项目的核心配置文件是pom.xml,我们可以在这个文件中,添加需要依赖的Jar包,同时还可以在<scope>标签中配置jar的有效范围,即依赖范围,如下图:

Maven(二):常用命令、依赖管理

添加依赖:默认依赖范围是compile

provided:运行时部署到tomcat后不再需要

如果将servlet-api.jar设置为compile,打包后项目包含servlet-api.jar,war包部署到tomcat跟tomcat中存在的servlet-api.jar包冲突,导致运行失败:

Maven(二):常用命令、依赖管理

解决:修改依赖的范围:

Maven(二):常用命令、依赖管理

 

4、依赖管理:

(1)传递依赖:A依赖B,B依赖C,B是A的直接依赖,C是A的传递依赖。

遵循原则:

–第一声明者优先原则:谁先定义的就用谁的传递依赖

–路径近者优先原则:直接依赖级别高于传递依赖

(2)排除依赖:

Maven(二):常用命令、依赖管理

(3)版本锁定:(重点)

Maven(二):常用命令、依赖管理

Maven(二):常用命令、依赖管理

 

5、依赖传递的范围:

Maven(二):常用命令、依赖管理

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/114624.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 苹果4代电池容量_iPhone4s电池

    苹果4代电池容量_iPhone4s电池苹果4代电池不耐用iphone论坛!入手IPHONE必看!2011年05月14日  苹果4代电池不耐用iphone论坛!入手IPHONE必看!发表于2011年04月30日由adminiphone论坛!入手iphone必看!  1./private/var/mobile新刷完的机器,要在这个文件夹下建一个documents的目次,许多程序都要用到。  2./p…

    2022年9月20日
  • web容器和web服务器区别关系_java中间件有哪些

    web容器和web服务器区别关系_java中间件有哪些目录Web服务器中间件容器总结Web开发的选择我们经常会被Web服务器、Web容器和Web中间件这三个概念搞混。因为我们常见的很多网站要么是由IIS搭建,要么是由Apache、Tomcat、Ngnix搭建。所以,我们会把他们都叫成是Web服务器,因为他们都提供了Web服务,可以让我们通过http协议访问到。但是又有很多地方会说Tomcat是Servlet容器,而又有很多地方…

    2022年10月27日
  • 云计算仿真框架CloudSim介绍

    云计算仿真框架CloudSim介绍幻灯片1云计算仿真框架CloudSim介绍jiangzw#ihep.ac.cn(以下为本人某次报告做的调研的PPT及其它一些实践记录,为保证清晰度,一些插入的图片较大,可在新标签页中打开)(本文基于署名2.5中国大陆许可协议发布,欢迎转载、演绎,但是必须保留本文的署名John并包含本文链接。)欢迎交流2013年04月09日

    2022年10月13日
  • THINKPHP and or 模板语句书写

    THINKPHP and or 模板语句书写THINKPHP and or 模板语句书写

    2022年4月21日
  • 贝叶斯公式的理解【转】

    贝叶斯公式的理解【转】本文转载自:https://blog.csdn.net/qq_37953276/article/details/79297316作者:知乎用户 链接:https://www.zhihu.com/question/21134457/answer/169523403来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。最近我自己在学习一些关于机器学习的东西,…

    2022年5月5日
  • python-列表基本操作

    python-列表基本操作本文讲解python列表的常用操作:1.list函数,可以将任何序列作为list的参数names=['lilei','tom','mackle',&

    2022年7月5日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号