在IDE中使用Maven
IDE工具
MyEclipse
集成maven插件
Eclipse
Eclipse For Java EE
IDEA
集成Maven插件
在IDE中
配置Maven
指定maven安装目录和配置文件
自动更新maven项目:勾选import projects automatically (2020版本 :Ctrl + Shift + O)
创建Maven项目
new Module——>Maven——>勾选Create from archetype
执行maven操作
Maven projects显示所有maven项目
执行生命周期
如果不想单独执行,就点击maven框里的Execute Maven Goal(在run maven的右边)
也能自定义添加一个maven操作组合
如果main文件下没有resources文件就创建一个,test文件下也是一样的
目录的类型与更改类型
在IDEA中目录是分类型的,常营的4中:
Sources Root 主代码的目录:src/main/java
Test Sources Root 测试代码的目录:src/test/java
Resources Root 主代码所需资源的目录:src/main/resources
Test Resources Root测试代码所需资源的目录:src/test/resources
注:在IDEA中默认创建的目录都是普通的Directory,创建后需要设置目录的类型
可以在文件右键 Mark Directory As中更改
Maven中pom.xml文件详解
简介
pom:project object model项目对象模型
pom.xml是Maven的核心配置文件
一个Maven项目有且只有一个pom.xml文件,该文件必须在项目的跟目录下
坐标
什么是坐标
用来唯一的标识每个项目,必须为项目定义坐标,坐标必须唯一
目的是为了让其他的Maven项目可以使用该项目生成的jar包
坐标详解
Maven坐标是通过一些元素来定义:groupId(组织的ID)、artifactId、version
groupId(组织的ID):表示当前模块所属于的项目
artifactId:模块的ID
version:当前的版本
org.example
maven-project
1.0-SNAPSHOT
dependency
基本配置
如何查找一个jar包的坐标
查找mysql-connector
UTF-8
1.7
1.7
junit
junit
4.11
test
mysql
mysql-connector-java
8.0.22
scope作用域
表示依赖的作用域,用来配置依赖的jar包可使用的范围
取值
含义
举例
compile
该依赖可以在整个项目中使用,参与打包部署,默认值
commons-fileupload
test
该依赖只能在测试代码中使用,并且不参与打包部署的
junit
provided
该依赖编写源代码时需要,不参与打包部署
servlet-api、jsp-api
runtime
该依赖编写代码时不需要,运行时需要,参与打包部署
mysql-connector
system
表示使用本地系统路径下的jar包,需要和一个systemPath一起使用
ojdbc.jar
使用本地jar包(放在自己创建的lib文件下,与src同级):
mysql
mysql-connector-java
8.0.22
${basedir}/lib/mysql-connector-java-8.0.17.jar
properties
全局属性,一般情况下同于定义全局的jar包的版本
作用:比如在properties中定义版本4.3.12
那么在对于的依赖下添加${ljy.version}
在properties中改了 后面对应的依赖版本也跟着改了(方便)
在依赖的version中alt+ctrl+v(快速提取)
如:
UTF-8
1.7
1.7
8.0.22
mysql
mysql-connector-java
${mysql-connector-java.version}
repositories
用来配置当前工程使用的远程仓库
依赖查找的顺序:本地仓库——>当前工程pom.xml中配置的远程仓库——>setting.xml中配置的远程仓库
spring为例:url 是spring官方地址
spring_repo
https://repo.spring.io/milestone/
plugin(配置插件)
配置插件,是一种工具
格式:
xxxx
zzzz
zzzz
maven-clean-plugin
3.1.0
超级POM
所有的pom.xml文件都继承了父POM,这个父POM称为超级POM(Super POM),你看不见也改不了,但是在myeclipse软件中能看见