1 maven项目管理和项目自动构建工具,apache的顶级项目
2 官网下载:maven.apache.org
解压,比如解压到D盘根目录 在maven的conf文件夹下有个settings配置文件,主要配置仓库的位置(一般不采用默认的,默认的位置为:C:\Users\Administrator\.m2,Administrator为当前系统),中央仓库的镜像(一般使用aliyun的国内镜像)和默认的profile
3 配置环境变量
3.1 Java_HOME指向jdk的安装目录,比如为:C:\Program Files\Java\jdk-17.0.1
3.2 MAVEN_HOME执行maven主目录,比如为:D:\apache-maven-3.8.3
3.3 MAVEN_OPTS 比如为:
-Xms128m -Xmx512m -Duser.language=zh -Dfile.encoding=UTF-8 -DarchetypeCatalog=internal
3.4 编辑环境变量PATH,添加%JAVA_HOME%\bin和%MAVEN_HOME%\bin
3.5 配置好后,打开cmd,执行mvn -v检查 出现jdk和maven的版本信息就配置好了
4 maven仓库 项目从本地仓库获得依赖,本地仓库没有到中央仓库下载,公司内部可能会有maven私服,本地仓库没有则到私服下载依赖,私服没有去中央仓库下载
5 maven项目结构
src/main/java存放源代码
src/main/resources 存放配置文件
src/test/java存放测试源代码
src/test/resources 存放测试专用的配置文件,一般用不到该文件夹
对web项目,src/main/webapps为web文件夹,存放WEB-INF及各种jsp及静态资源文件
6 注意在eclipse下创建的Dynamic Web Project,web.xml不对,版本太低了,需要换高版本的:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> </web-app>
7 maven坐标
组id,相当于哪个项目组
构件id,也就是哪个功能模块,
版本 SNAPSHOT为快照版本,RELEASE为发行版本
打包方式 不指定默认为jar,web项目war,多模块父项目pom
根据maven坐标查找依赖,依赖查找最好的网站是mvnrepository.com一般搜索都是第一个结果就是想要找的,特例jstl是第二个
8 pom文件,项目对象模型文件,目前版本为4.0.0
9 maven依赖常见4种范围:
9.1 默认范围compile,在编译,测试及正式运行时都起作用
9.2 test范围,在测试编译及运行时起作用
典型:junit spring-test
9.3 runtime范围,在编译时用不到,在测试运行及正式运行才能用到
典型:数据库jdbc jar
9.4 provided范围,已提供范围,在正式运行用不到
在对项目打包时,test范围和provided范围的依赖不会打到包中
10 依赖传递
compile范围和runtime范围的依赖会进行依赖传递,如果设置了
<optional>true</optional>也不会进行依赖传递
添加依赖时,同层级的,添加了相同的依赖但是不同的版本,
顺序在后面的会覆盖前面的
因为依赖会进行传递,a->b->c d->c 层级小的优先,也就是d依赖传递的c起作用
假如,想让a->b->c起作用,需要对d传进来的C要进行排除,阻止d传递c
<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.4</version> <exclusions> <exclusion> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> </exclusion> </exclusions> </dependency>
11 maven 常用命令
clean清理target
test 测试
package 打包
12 tomcat配置
Edit Configurations....
-》左上角的+号
-》tomcat server 选择Local
-》弹出的选项卡中,选择第二个deployment->+号,选择artifact-》选择xxx:war exploded
可以修改application context项目根路径
-》第一个选项卡server,配置默认浏览器,On 'Update' action和Onframe deactivation都设为Update classes and resources,选中Deploy applications configured in Tomcat instance
0条评论
点击登录参与评论