一:Maven知识整理
一:maven的好处
1.依赖管理:对jar包的统一管理 可以节省空间
2.项目一键构建:
编码 编译 测试(junit) 运行 打包 部署
一个 tomcat:run就能把项目运行起来
Maven能干的事:
编译 测试(junit) 运行 打包 部署
3.可以跨平台
4.应用于大型项目 可以提高开发效率
互联网项目:按业务分
传统项目:按层次分 pojo dao service web
二:maven仓库
三种仓库
1、本地仓库 自己维护
本地仓库的配置只需要修改settings.xml文件就可以
2、远程仓库(私服) 公司维护
3、中央仓库 maven团队维护
三:maven入门程序
1.Maven的目录结构
pom.xml --> maven项目的核心文件
src/main --> 主目录
src/main/java --> java代码
src/main/resources --> 配置文件/properties/xml
src/test --> 测试目录
src/test/java --> 纯java代码 junit测试
src/test/resources --> junit测试所用到的配置文件,如果没有就从main里找
2.maven常用命令
mvn clean --> 清理编译的文件
mvn compile --> 编译了主目录的文件
mvn test --> 编译并运行了test目录的代码
Package --> 打包
mvn install --> 把项目发布到本地仓库
tomcat:run 一键启动
3.maven的生命周期
Compile test package install deploy(发布到私服)
三种生命周期:
Clean生命周期
Clean
Default生命周期
Compile test package install deploy
Site生命周期
Site
不同的生命周期的命令可以同时执行:
Mvn clean package
四:项目构建
1.maven在eclipse的配置
选择maven软件的版本
修改默认的本地仓库地址
2.项目构建
a.新建maven项目
b.跳过骨架,如果不跳过骨架选择创建出的项目目录是不全的
c.填写坐标信息
groupId 公司或组织名称
artifactId 项目或模块名称
version 版本
packaging 打包方式
d.添加web.xml文件
①.手动在webapp文件夹下创建一个WEB-INF文件夹,在里面放一个web.xml文件
②.查看项目信息
project facets --》 dynamic web module
去掉勾选 --》apply 再该版本 --》设置xml路径(src/main/webapp) --》apply
e.修改编译版本
在pom.xml中添加如下代码:
<build>
<!-- 配置了很多插件 -->
<finalName>ssm</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
f.添加jar包(在pom.xml中)(依赖传递)
在本地重建索引,以索引的方式搜索:
打开maven仓库的视图
重建索引
添加坐标 选择Dependencies标签 点击add
手动输入要添加的坐标,选择版本和范围
从网络上搜索:mvnrepository.com
g.启动项目(maven build...)
tomcat:run
五:依赖范围
1.Compile struts2-core
编译(compile)时需要 测试时需要,运行时需要,打包时需要
2.Provided jsp-api.jar servlet-api.jar -- *****
编译(compile)时需要,测试(test)时也需要 ,运行时不需要,打包时不需要
3.Runtime 数据库驱动包
编译时不需要,测试时需要,运行时需要,打包时需要
4.Test junit.jar
编译时不需要,测试时需要,运行时不需要,打包也不需要
六:依赖版本冲突的解决
1、第一声明优先原则 优先采用前面的jar包,不采用后面的jar包
2、路径近者优先原则 自己添加jar包,优先采用直接定义的jar包,不采用依赖传递的jar包
3、排除原则
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-spring-plugin</artifactId>
<version>2.3.24</version>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
</exclusion>
</exclusions>
</dependency>
4、版本锁定原则
<properties>
<spring.version>4.2.4.RELEASE</spring.version>
<hibernate.version>5.0.7.Final</hibernate.version>
<struts.version>2.3.24</struts.version>
</properties>
发布项目:
运行myeclipse server application,部署项目到tomcat并运行
运行manven install,打包项目到本地仓库
maven启动自带的tomcat:(在pom.xml中添加插件)
Maven add plugin
tomcat6:
tomcat:run
tomcat:stop
tomcat7:
tomcat7:run
tomcat7:shutdown
一:Maven知识整理的更多相关文章
- Maven知识整理
一.概念: Maven是一个项目管理工具,它包含了一个项目对象模型(Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统( ...
- Salesforce知识整理(一)之Lightning Web Component Tools
目录 LWC知识整理(一) 工具 Salesforce CLI Visual Studio Code(VS Code) Developer Hub(Dev Hub) 开启Dev Hub 相关资料 茶余 ...
- js事件(Event)知识整理
事件(Event)知识整理,本文由网上资料整理而来,需要的朋友可以参考下 鼠标事件 鼠标移动到目标元素上的那一刻,首先触发mouseover 之后如果光标继续在元素上移动,则不断触发mousemo ...
- Kali Linux渗透基础知识整理(四):维持访问
Kali Linux渗透基础知识整理系列文章回顾 维持访问 在获得了目标系统的访问权之后,攻击者需要进一步维持这一访问权限.使用木马程序.后门程序和rootkit来达到这一目的.维持访问是一种艺术形式 ...
- Kali Linux渗透基础知识整理(二)漏洞扫描
Kali Linux渗透基础知识整理系列文章回顾 漏洞扫描 网络流量 Nmap Hping3 Nessus whatweb DirBuster joomscan WPScan 网络流量 网络流量就是网 ...
- wifi基础知识整理
转自 :http://blog.chinaunix.net/uid-9525959-id-3326047.html WIFI基本知识整理 这里对wifi的802.11协议中比较常见的知识做一个基本的总 ...
- 数据库知识整理<一>
关系型数据库知识整理: 一,关系型数据库管理系统简介: 1.1使用数据库的原因: 降低存储数据的冗余度 提高数据的一致性 可以建立数据库所遵循的标准 储存数据可以共享 便于维护数据的完整性 能够实现数 ...
- 【转载】UML类图知识整理
原文:UML类图知识整理 UML类图 UML,进阶必备专业技能,看不懂UML就会看不懂那些优秀的资料. 这里简单整理 类之间的关系 泛化关系(generalization) 泛化(generalize ...
- Linux进程管理知识整理
Linux进程管理知识整理 1.进程有哪些状态?什么是进程的可中断等待状态?进程退出后为什么要等待调度器删除其task_struct结构?进程的退出状态有哪些? TASK_RUNNING(可运行状态) ...
随机推荐
- Mysql 索引原理《一》索引原理与慢查询2
一 索引未命中 并不是说我们创建了索引就一定会加快查询速度,若想利用索引达到预想的提高查询速度的效果,我们在添加索引时,必须遵循以下问题 1 范围问题,或者说条件不明确,条件中出现这些符号或关键字:& ...
- OCP2018最新题库,052新题库及答案整理-25题
25.Which is true about logical and physical database structures? (Choose the best answer) A. An undo ...
- link和@import的区别是什么 ?
1.link是XHTML标签,除了加载CSS外,还可以定义RSS等其他事务:@import属于CSS范畴,只能加载CSS. 2.link引入CSS是,在页面载入时间同时加载:@import页面网页完全 ...
- 本地Windows环境下安装MySql
Windows 上安装 MySQL Windows 上安装 MySQL 相对来说会较为简单,你需要在 MySQL 下载中下载 Windows 版本的 MySQL 安装包. Download Link: ...
- Windows下磁盘无损重新分配
打开百度(www.baidu.com),找到我们的分区助手.exe 单击“普通下载”,会下载一个安装包. 这时候,我们进行安装.安装完成如下. 对着那个盘容量较大的盘右键,分配空闲空间. 服务器多次重 ...
- jqury属性操作,特殊效果
一. 常用属性操作 1.html() 取出或设置html内容 // 取出html内容 var $htm = $('#div1').html(); // 设置html内容 $('#div1').html ...
- P5108 仰望半月的夜空 SAM+线段树覆盖
$ \color{#0066ff}{ 题目描述 }$ 半月的夜空中,寄托了多少人与人之间的思念啊 曦月知道,这些思念会汇集成一个字符串\(S(n = |S|)\) 由于思念汇集的过于复杂,因此曦月希望 ...
- NOI.AC省选模拟赛第一场 T1 (树上高斯消元)
link 很容易对于每个点列出式子 \(f_{x,y}=(f_{x,y-1}+f_{x,y}+f_{x,y+1}+f_{x+1,y})/4\)(边角转移类似,略) 这个转移是相互依赖的就gg了 不过你 ...
- 适配器模式-如何把usb插到插座上
前言 下面所写的内容不是实际的业务场景, 也可能不符合正常的生活习惯, 或者不满足一些人的口味 所写的内容包括之前的帖子,只是为了方便大家更好的记住这个设计模式,实际生活中要灵活应用 设计模式重思想, ...
- TCP/CP调试
首先要先给自己的电脑分配一个固定的内网IP,不可以自动获取,然后将这个固定的IP设置为DMZ主机就可以将你的电脑暴露给外网,就能实现你想要的功能!! {1}设置成固定IP的方法是在路由的DHCP服务器 ...