74Maven学习笔记

                     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

img

选择apache-Maven-3.3.3版本下载:

image-20211222171244167

2.2 Maven安装

将下载的apache-Maven-3.3.3.zip解压到本地即可

image-20211222171420205

2.3 Maven配置

2.3.1 配置Maven_HOME

Maven_HOME:D:\01program_soft\01install_before\Maven\apache-Maven-3.3.3

image-20211222171613558

2.3.2 配置Path

Path: %Maven_HOME%\bin

image-20211222171733315

2.3.3 验证Maven是否安装成功

命令行输入: mvn -v

image-20211222172002973

出现上图界面,则说明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>

image-20211222172900918

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,欢迎您体验使用。

仓库名称阿里云仓库地址阿里云仓库地址(老版)源地址
centralhttps://maven.aliyun.com/repository/centralhttps://maven.aliyun.com/nexus/content/repositories/centralhttps://repo1.maven.org/maven2/
jcenterhttps://maven.aliyun.com/repository/publichttps://maven.aliyun.com/nexus/content/repositories/jcenterhttp://jcenter.bintray.com/
publichttps://maven.aliyun.com/repository/publichttps://maven.aliyun.com/nexus/content/groups/publiccentral仓和jcenter仓的聚合仓
googlehttps://maven.aliyun.com/repository/googlehttps://maven.aliyun.com/nexus/content/repositories/googlehttps://maven.google.com/
gradle-pluginhttps://maven.aliyun.com/repository/gradle-pluginhttps://maven.aliyun.com/nexus/content/repositories/gradle-pluginhttps://plugins.gradle.org/m2/
springhttps://maven.aliyun.com/repository/springhttps://maven.aliyun.com/nexus/content/repositories/springhttp://repo.spring.io/libs-milestone/
spring-pluginhttps://maven.aliyun.com/repository/spring-pluginhttps://maven.aliyun.com/nexus/content/repositories/spring-pluginhttp://repo.spring.io/plugins-release/
grails-corehttps://maven.aliyun.com/repository/grails-corehttps://maven.aliyun.com/nexus/content/repositories/grails-corehttps://repo.grails.org/grails/core
apache snapshotshttps://maven.aliyun.com/repository/apache-snapshotshttps://maven.aliyun.com/nexus/content/repositories/apache-snapshotshttps://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

image-20211222173620140

2.4 Maven新建Java工程

IntelliJ系中的Project相当于Eclipse系中的workspace。
IntelliJ系中的Module相当于Eclipse系中的Project。
IntelliJ中一个Project可以包括多个Module
Eclipse中一个Workspace可以包括多个Project

1.File–>New–>Project

image-20211223133212218

2.在接下来的界面中选择"Maven",JDK选1.8,勾选“Create from archetype”,

​ 选择“maven-archetype-quickstart”骨架,点击“Next”

image-20211223143615007

3.在接下来的界面中输入工程名称,工程存放目录,pom文件坐标三要素,点击“Finish”

image-20211223143958872

4.在接下来的界面中,选择Maven安装目录,settings.xml文件,点击“Finish”

image-20211223144126682

5…构建的Maven Java工程目录,如下:

image-20211223144627465

6.pom.xml文件中加入springframework依赖更新后,截图如下:

image-20211223145143847

7.用Maven将工程打成jar包

image-20211223145327167

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…":

img

2.在弹出的窗口中勾选Maven选项:

img

3.在pom.xml文件中编辑自己的groupId:

img

4.添加要依赖的jar包配置:

img

5.刷新Maven,Maven会帮助下载配置的依赖:

img

6.下载完成后,如下图所示,在依赖项下能看见配置的jar包:

img

2.6 Maven新建Web工程

1.打开-File-New-Project,点击NEXT

创建Maven项目

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 项目总结构图

img

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插件工具栏:

img

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)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值