Maven学习笔记
文章目录
第1章 Maven简介
1.1 Maven能干什么?
1.Maven可以管理jar文件
2.自动下载jar和它的文档,源代码
3.管理jar直接的依赖,a.jar需要b.jar
4.管理你需要的jar版本
5.帮你编译程序,把Java编译成class
6.帮你测试你的代码是否正确 ------用得少
7.帮你打包文件,形成jar文件或者war包
8.帮你部署项目 ------用得少
1.2 Maven构建的环节
1.清理clean:删除以前的编译结果,为重新编译作案后准备
2.编译compile:将Java源程序编译为字节码文件
3.测试test:针对项目中的关键点进行测试,确保项目在迭代开发过程中关键点的正确性
4.报告report:在每一次测试后以标准的格式记录和展示测试结果
5.打包package:将一个包含诸多文件的工程封装为一个压缩文件用于安装或者部署,java工程对应jar包,web工程对应war包
6.安装install:在Maven环境下将打包的结果:jar包或者war包安装到本地仓库中
7.部署devlop(不用):将打包的结果部署到服务器上运行
第2章 Maven环境搭建
2.1 Maven下载
官网地址:http://Maven.apache.org/download.cgi
选择apache-Maven-3.3.3版本下载:
2.2 Maven安装
将下载的apache-Maven-3.3.3.zip解压到本地即可
2.3 Maven配置
2.3.1 配置Maven_HOME
Maven_HOME:D:\01program_soft\01install_before\Maven\apache-Maven-3.3.3
2.3.2 配置Path
Path: %Maven_HOME%\bin
2.3.3 验证Maven是否安装成功
命令行输入: mvn -v
出现上图界面,则说明Maven安装成功。
2.3.4 配置Maven本地仓库
(1) 在D:\01program_soft\01install_before\Maven目录下新建localRepository文件夹,该目录用作Maven的本地库
(2) 打开D:\01program_soft\01install_before\Maven\apache-Maven-3.3.3\conf\settings.xml文件,
查找下面这行代码:
<localRepository>/path/to/local/repo</localRepository>
localRepository节点默认是被注释掉的,需要把它移到注释之外,
然后将localRepository节点的值改为我们在4.1中创建的目录D:\01program_soft\01install_before\Maven\localRepository。
<localRepository>D:\01program_soft\01install_before\Maven\localRepository</localRepository>
2.3.5 本地jar包install到本地Maven仓库
1.将esb-client-1.0.0.jar复制到工程lib目录D:\03project\eoffice_3rd\eoffice-permission\src\main\resources\lib下;
2.在dos窗口执行Maven的install命令,将本地jar包安装到Maven仓库:
mvn install:install-file
-Dfile=D:\03project\eoffice_3rd\eoffice-permission\src\main\resources\lib\esb-client-1.0.0.jar
-DgroupId=esb
-DartifactId=esb-clinet
-Dversion=1.0.0
-Dpackaging=jar
2.3.6 配置Maven中央仓库
Maven中央仓库配置:
<mirror>
<id>aliyunMaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://Maven.aliyun.com/repository/public</url>
</mirror>
<mirror>
<id>nexus-osc</id>
<mirrorOf>*</mirrorOf>
<name>Nexus osc</name>
<url>http://Maven.aliyun.com/nexus/content/repositories/central</url>
</mirror>
阿里云 Maven 是什么
https://mvnrepository.com maven仓库(下载很慢)
阿里云Maven中央仓库为 阿里云云效 提供的公共代理仓库,帮助研发人员提高研发生产效率,
使用阿里云Maven中央仓库作为下载源,速度更快更稳定。
阿里云云效 是企业级一站式 DevOps 平台,覆盖产品从需求到运营的研发全生命周期,
其中云效也提供了免费、可靠的Maven私有仓库 Packages,欢迎您体验使用。
仓库名称 | 阿里云仓库地址 | 阿里云仓库地址(老版) | 源地址 |
---|---|---|---|
central | https://maven.aliyun.com/repository/central | https://maven.aliyun.com/nexus/content/repositories/central | https://repo1.maven.org/maven2/ |
jcenter | https://maven.aliyun.com/repository/public | https://maven.aliyun.com/nexus/content/repositories/jcenter | http://jcenter.bintray.com/ |
public | https://maven.aliyun.com/repository/public | https://maven.aliyun.com/nexus/content/groups/public | central仓和jcenter仓的聚合仓 |
https://maven.aliyun.com/repository/google | https://maven.aliyun.com/nexus/content/repositories/google | https://maven.google.com/ | |
gradle-plugin | https://maven.aliyun.com/repository/gradle-plugin | https://maven.aliyun.com/nexus/content/repositories/gradle-plugin | https://plugins.gradle.org/m2/ |
spring | https://maven.aliyun.com/repository/spring | https://maven.aliyun.com/nexus/content/repositories/spring | http://repo.spring.io/libs-milestone/ |
spring-plugin | https://maven.aliyun.com/repository/spring-plugin | https://maven.aliyun.com/nexus/content/repositories/spring-plugin | http://repo.spring.io/plugins-release/ |
grails-core | https://maven.aliyun.com/repository/grails-core | https://maven.aliyun.com/nexus/content/repositories/grails-core | https://repo.grails.org/grails/core |
apache snapshots | https://maven.aliyun.com/repository/apache-snapshots | https://maven.aliyun.com/nexus/content/repositories/apache-snapshots | https://repository.apache.org/snapshots/ |
maven中央仓库配置指南:
打开 maven 的配置文件( windows 机器一般在 maven 安装目录的 conf/settings.xml ),
在标签中添加 mirror 子节点:(中央仓库)
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
如果想使用其它代理仓库,可在节点中加入对应的仓库使用地址。
以使用 spring 代理仓为例:
<repository>
<id>spring</id>
<url>https://maven.aliyun.com/repository/spring</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
在你的 pom.xml 文件节点中加入你要引用的文件信息:依赖
<dependency>
<groupId>[GROUP_ID]</groupId>
<artifactId>[ARTIFACT_ID]</artifactId>
<version>[VERSION]</version>
</dependency>
执行拉取命令:
mvn install
2.3.7 在IDEA中配置Maven
让idea和Maven集合使用,idea中内置了Maven,一般不使用内置的,因为内置修改Maven的设置不方便
使用自己安装的Maven,需要覆盖idea中的默认的设置。让idea知道Maven
Maven占有率 70%
gradle占有率 25%
Maven的设置:
Maven home dircetory: Maven安装目录
user settings File:Maven安装目录conf/setting.xml
local Repository: 本机仓库的目录位置
Maven runer: JRE选择jdk版本
vm option: archetypeCatalog=internal 不用网上下载模板文件,创建Maven项目速度快
Create from archetype:模板 骨架
Java项目选模板: Maven-archetype-quickstart
web项目选模板:Maven-archetype-webapp
打开-File-Settings
2.4 Maven新建Java工程
IntelliJ系中的Project相当于Eclipse系中的workspace。
IntelliJ系中的Module相当于Eclipse系中的Project。
IntelliJ中一个Project可以包括多个Module
Eclipse中一个Workspace可以包括多个Project
1.File–>New–>Project
2.在接下来的界面中选择"Maven",JDK选1.8,勾选“Create from archetype”,
选择“maven-archetype-quickstart”骨架,点击“Next”
3.在接下来的界面中输入工程名称,工程存放目录,pom文件坐标三要素,点击“Finish”
4.在接下来的界面中,选择Maven安装目录,settings.xml文件,点击“Finish”
5…构建的Maven Java工程目录,如下:
6.pom.xml文件中加入springframework依赖更新后,截图如下:
7.用Maven将工程打成jar包
build日志:
"C:\Program Files\Java\jdk1.8.0_20\bin\java.exe" -Dmaven.multiModuleProjectDirectory=D:\05project\mavenTest -Dmaven.home=D:\01program_soft\01install_before\maven\apache-maven-3.3.3 -Dclassworlds.conf=D:\01program_soft\01install_before\maven\apache-maven-3.3.3\bin\m2.conf "-Dmaven.ext.class.path=D:\01program_soft\02install_after\ideaIU-2019.3.5\IntelliJ IDEA 2019.3.5\plugins\maven\lib\maven-event-listener.jar" "-javaagent:D:\01program_soft\02install_after\ideaIU-2019.3.5\IntelliJ IDEA 2019.3.5\lib\idea_rt.jar=56579:D:\01program_soft\02install_after\ideaIU-2019.3.5\IntelliJ IDEA 2019.3.5\bin" -Dfile.encoding=UTF-8 -classpath D:\01program_soft\01install_before\maven\apache-maven-3.3.3\boot\plexus-classworlds-2.5.2.jar org.codehaus.classworlds.Launcher -Didea.version2019.3.5 -s D:\01program_soft\01install_before\maven\apache-maven-3.3.3\conf\settings.xml package
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building mavenTest 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-resources-plugin:3.0.2:resources (default-resources) @ mavenTest ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory D:\05project\mavenTest\src\main\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.0:compile (default-compile) @ mavenTest ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:3.0.2:testResources (default-testResources) @ mavenTest ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory D:\05project\mavenTest\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.0:testCompile (default-testCompile) @ mavenTest ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-surefire-plugin:2.22.1:test (default-test) @ mavenTest ---
[INFO]
[INFO] -------------------------------------------------------
[INFO] T E S T S
[INFO] -------------------------------------------------------
[INFO] Running com.tangguanlin.AppTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.053 s - in com.tangguanlin.AppTest
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO]
[INFO] --- maven-jar-plugin:3.0.2:jar (default-jar) @ mavenTest ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7.132 s
[INFO] Finished at: 2021-12-23T14:54:35+08:00
[INFO] Final Memory: 13M/212M
[INFO] ------------------------------------------------------------------------
2.5 Java工程添加Maven功能
1.点击Java工程,右键,选择"Add Framework Support…":
2.在弹出的窗口中勾选Maven选项:
3.在pom.xml文件中编辑自己的groupId:
4.添加要依赖的jar包配置:
5.刷新Maven,Maven会帮助下载配置的依赖:
6.下载完成后,如下图所示,在依赖项下能看见配置的jar包:
2.6 Maven新建Web工程
1.打开-File-New-Project,点击NEXT
2.点击NEXT
3.添加的配置为 archetypeCatalog=internal,点击NEXT
4.点击NEXT
5.点击Finish后项目开始创建
点击右下角查看进去
6.Maven web模板项目结构
7.同样在main下新建test测试文件夹,再在此文件夹下新建java测试源码文件夹和resource测试资源文件夹
8.也可以右键项目-选择Open Module Settings打开项目配置页面更改
9.配置依赖jar包
第3章 Maven核心概念
3.1 pom.xml
pom.xml:核心文件 项目对象模型
控制Maven构建项目的过程,管理jar依赖
pom.xml核心文件: 坐标 唯一标识一个资源
groupId:组织id 一般是域名倒写 com.baidu.appolo
artifactId:项目名称
version:版本号 1.1.0_SHAPSHOT
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
packaging:打包后压缩文件的扩展名,默认是jar,web应用是war
packaging可以不写,默认是jar
3.2 Maven工程约定目录结构
约定的目录结构:Maven项目的目录和文件的位置都是规定的。
Maven的安装和配置:
Maven的目录结构:
Hello
---src
---main //放你的主程序Java代码和配置文件
---java //你的程序包和包中的Java文件
---resources //你的Java程序中要使用的配置文件
---test //放测试程序代码和文件
---java //测试程序包和包中的Java文件
---resources //测试Java程序中要使用的配置文件
---pom.xml //Maven的核心文件(Maven项目必须有)
执行mvn compile,结果是在项目的根目录下生成的target目录(结果目录),
Maven编译的Java程序,最后的class文件都放在target目录中
3.3 坐标
坐标:是一个唯一的字符串,用来表示资源的
<dependencies>
<dependency>
<groupId>com.yucong.commonMaven</groupId>
<artifactId>commonMaven</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>common_Maven</name>
</dependency>
</dependencies>
groupId
定义了项目属于哪个组,举个例子,如果你的公司是mycom,有一个项目为myapp,
那么groupId就应该是com.mycom.myapp. com.cmschina.eoffice
artifacted
定义了当前Maven项目在组中唯一的ID,比如,myapp-util,myapp-domain,myapp-web,eoffice等
version 版本号
3.4 依赖管理
依赖管理:管理你的项目可以使用的jar文件
依赖:dependencies和dependency
<dependencies>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz-jobs</artifactId>
<version>2.3.0</version>
</dependency>
</dependencies>
3.5 仓库管理
仓库管理(了解):你的资源存放的位置
1.仓库是什么:仓库是存放东西的
1.1 Maven使用的插件(各种jar)
1.2 项目使用的jar(第三方的工具)
2.仓库的分类:
2.1 本地仓库:个人计算机上的一个文件夹,存放各种jar包
2.2 远程仓库:在互联网上的,需要使用网络才能使用的仓库
中央仓库:最权威,世界上所有的开发人员都共享使用的仓库
Maven中央仓库: https://repo.Maven.apache.org
阿里云中央仓库: https://Maven.aliyun.com/repository/public
中央仓库的镜像:就是中央仓库的备份,在各大洲,大城市,都有自己的镜像
私服:在公司内部,在局域网中使用的,不是对外使用的。
仓库的使用:Maven仓库的使用不需要人为参与
开发人员需要使用mysql驱动—>Maven首先查本地仓库—>私服—>镜像—>中央仓库
https://mvnrepository.com 搜索使用的中央仓库
3.6 生命周期
生命周期(了解):Maven工具构建项目的过程就是生命周期
Maven命令:
mvn clean:清理
mvn compile:编译main目录代码
mvn test-compile 编译test目录代码
mvn test:测试
mvn package:打包
mvn install:安装
mvn deploy:部署
Maven常用命令:
mvn clean compile 表示先运行清理之后运行编译,会将代码编译到target文件夹中
mvn clean package 运行清理和打包
mvn clean install 运行清理和安装,会将打好的包安装到本地仓库中,以便其他的项目可以调用
mvn clean deploy 运行清理和发布
执行后一阶段的时候 会把之前的阶段都执行一遍。
执行以上命令必须在命令行进入pom.xml所在目录。
3.7 插件与目标
插件和目标(了解): 执行Maven构建的时候用的工具是插件
Maven插件:Maven命令执行时,Maven真正完成功能的是插件,插件就是一些jar文件
junit是专门用于测试的小工具
3.8 继承
3.9 聚合
第4章 依赖管理
1.依赖范围,使用scope表示
scope的值有 compile,test,provided,默认是compile
scope:表示依赖使用的范围,也就是在Maven构建项目的那些阶段中起作用。
Maven构建项目 编译 测试 打包 安装 部署
依赖的范围:compile、test、provided, 默认采用compile
compile test provided(提供者)
对主程序是否有效 是 否 是
对测试程序是否有效 是 是 是
是否参与打包 是 否 否
是否参与部署 是 否 否
2.hutool的依赖范围是compile,默认,会被打包和部署
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.7.2</version>
</dependency>
3.junit的依赖范围是test,单元测试时使用,不会被打包和部署
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
4.servlet的依赖范围是provided,只使用,不会被打包和部署
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
第5章 Maven常用设置
build: Maven在进行项目构建时,配置信息 例如指定编译代码时使用的jdk版本
5.1 Maven的属性设置
properties:设置属性
设置Maven的常用属性
<properties>
<spring.version>5.3.7</spring.version>
</properties>
5.2 Maven的全局变量
自定义的属性:
1.在通过自定义标签声明变量(标签名就是变量名)
2.在pom.xml文件中的其他位置,使用${标签名}使用变量的值
自定义全局变量一般是定义依赖的版本号,当你的项目中要使用多个相同的版本号,
先使用全部变量定义,在使用${变量名}
<properties>
<spring.version>5.3.7</spring.version>
</properties>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency>
5.3 资源插件
<build>
<resources>
<resource>
<!--所在的目录-->
<directory>src/main/java</directory>
<includes>
<!--包括目录下的.properties和.xml文件都会扫描到-->
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<!--filter选项false 不启用过滤器,*.properties已经起到过滤作用了-->
<filtering>false</filtering>
</resource>
</resources>
</build>
1.默认没有使用resources的时候,Maven执行编译代码时,
会把src/main/resources目录中的文件,拷贝到target/classes目录中,
对于src/main/java目录下的非Java文件不处理,不拷贝到target/classes目录中
2.我们的程序有需要把一些放在src/main/java目录中,当我们在执行Java程序时,
需要用到src/main/java目录中的文件,需要告诉Maven在mvn compile src/main/java目录下的程序时,
需要把文件一同拷贝到target/classes目录中,此时就需要在中加入.
5.4 常用插件配置
<properties>
<Maven.compiler.source>1.8</Maven.compiler.source>
<Maven.compiler.target>1.8</Maven.compiler.target>
</properties>
5.5 设置JDK版本
<!--控制配置Maven构建项目的参数设置,设置jdk版本-->
<build>
<!--配置插件-->
<plugins>
<!--配置具体插件-->
<plugin>
<groupId>org.apache.Maven.plugins</groupId>
<!--插件的名称-->
<artifactId>Maven-compiler-plugin</artifactId>
<!--插件的版本-->
<version>3.8.1</version>
<!--配置插件的信息-->
<configuration>
<!--告诉Maven,我们写的代码是jdk1.8上编译的-->
<source>1.8</source>
<!--我们的程序应该允许在1.8的jdk上-->
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
5.6 把项目依赖的所有jar包都打到jar中
<build>
<plugins>
<plugin>
<groupId>org.apache.Maven.plugins</groupId>
<artifactId>Maven-shade-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<createDependencyReducedPom>true</createDependencyReducedPom>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.Maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.tangguanlin.ListToMap</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
<!--指定jdk版本-->
<plugin>
<groupId>org.apache.Maven.plugins</groupId>
<artifactId>Maven-compiler-plugin</artifactId>
<configuration>
<source>8</source>
<target>8</target>
</configuration>
</plugin>
</plugins>
</build>
第6章 多模块管理
Maven父工程必须遵循以下两点要求:
1.packaging标签的文本内容必须设置为pom
2.把src目录删除掉
pom是项目对象模型,该文件是可以被子工程继承的
Maven多模块管理,其实就是让它的子模块的pom文件来继承父工程的pom文件
声明式依赖
6.1 项目总结构图
6.2 Maven-parent父工程pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://Maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://Maven.apache.org/POM/4.0.0 http://Maven.apache.org/xsd/Maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.tangguanlin</groupId>
<artifactId>Maven-parent</artifactId>
<version>1.0.0</version>
<!--父工程包含的子模块-->
<modules>
<module>Maven_java_001</module>
<module>Maven_web_001</module>
</modules>
<packaging>pom</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<Maven.compiler.source>1.7</Maven.compiler.source>
<Maven.compiler.target>1.7</Maven.compiler.target>
</properties>
<!--父工程要加强管理子模块的所有依赖-->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.43</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.6.2</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.3.2</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>
6.3 Maven_java_001的pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://Maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://Maven.apache.org/POM/4.0.0 http://Maven.apache.org/xsd/Maven-4.0.0.xsd">
<parent>
<artifactId>Maven-parent</artifactId>
<groupId>org.tangguanlin</groupId>
<version>1.0.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>pom</packaging>
<modules>
<module>Maven_java_0101</module>
</modules>
<artifactId>Maven_java_001</artifactId>
</project>
6.4 Maven_java_0101的pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://Maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://Maven.apache.org/POM/4.0.0 http://Maven.apache.org/xsd/Maven-4.0.0.xsd">
<parent>
<artifactId>Maven_java_001</artifactId>
<groupId>org.tangguanlin</groupId>
<version>1.0.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>Maven_java_0101</artifactId>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies>
</project>
6.5 Maven_web_001工程的pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://Maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://Maven.apache.org/POM/4.0.0 http://Maven.apache.org/xsd/Maven-4.0.0.xsd">
<parent>
<artifactId>Maven-parent</artifactId>
<groupId>org.tangguanlin</groupId>
<version>1.0.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>Maven_web_001</artifactId>
<packaging>war</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<Maven.compiler.source>1.7</Maven.compiler.source>
<Maven.compiler.target>1.7</Maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
</dependencies>
</project>
第7章 Maven的使用
mvn插件工具栏:
8"?>
Maven-parent
org.tangguanlin
1.0.0
4.0.0
<artifactId>Maven_web_001</artifactId>
<packaging>war</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<Maven.compiler.source>1.7</Maven.compiler.source>
<Maven.compiler.target>1.7</Maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
</dependencies>
```
第7章 Maven的使用
mvn插件工具栏:
[外链图片转存中…(img-DcMn1i6e-1640245584045)]