欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > 三、使用 Maven:命令行环境

三、使用 Maven:命令行环境

2025/5/12 1:24:24 来源:https://blog.csdn.net/weixin_44063529/article/details/144255246  浏览:    关键词:三、使用 Maven:命令行环境

文章目录

  • 1. 第一节 实验一:根据坐标创建 Maven 工程
    • 1.1 Maven 核心概念:坐标
    • 1.2 实验操作
    • 1.3 Maven核心概念:POM
    • 1.4 Maven核心概念:约定的目录结构
  • 2. 实验二:在 Maven 工程中编写代码
    • 2.1 主体程序
    • 2.2 测试程序
  • 3. 执行 Maven 的构建命令
    • 3.1 要求
    • 3.2 清理操作
    • 3.3 编译操作
    • 3.4 测试操作
    • 3.5 打包操作
    • 3.6 安装操作
  • 4. 创建 Maven 版的 Web 工程
    • 4.1 说明
    • 4.2 操作
    • 4.3 生成的pom.xml
    • 4.4 生成的Web工程的目录结构
    • 4.5 创建 Servlet
    • 4.6 在 index.jsp 页面编写超链接
    • 4.7 编译
    • 4.8 配置对 servlet-api.jar 包的依赖
    • 4.9 将 Web 工程打包为 war 包
    • 4.10 将 war 包部署到 Tomcat 上运行
  • 5. 让 Web 工程 依赖 Java 工程
    • 5.1 观念
    • 5.2 操作
    • 5.3 在 Web 工程中,编写测试代码
    • 5.4 执行Maven命令
  • 6. 测试依赖的范围
    • 6.1 依赖范围
    • 6.2 测试
  • 7. 测试依赖的传递性
    • 7.1 依赖的传递性
    • 7.2 使用 compile 范围依赖 spring-core
    • 7.3 验证 test 和 provided 范围不能传递
  • 8. 测试依赖的排除
    • 8.1 概念
    • 8.2 配置方式
    • 8.3 测试
  • 9. 继承
    • 9.1 概念
    • 9.2 作用
    • 9.3 举例
    • 9.4 操作
    • 9.5 实际意义
  • 10. 聚合
    • 10.1 聚合本身的含义
    • 10.2 Maven 中的聚合
    • 10.3 好处
    • 10.4 聚合的配置
    • 10.5 依赖循环问题

1. 第一节 实验一:根据坐标创建 Maven 工程

1.1 Maven 核心概念:坐标

①数学中的坐标
在这里插入图片描述

使用 x、y、z 三个『向量』作为空间的坐标系,可以在『空间』中唯一的定位到一个『
②Maven中的坐标
在这里插入图片描述

在这里插入图片描述

③坐标和仓库中 jar 包的存储路径之间的对应关系
坐标:
在这里插入图片描述

上面坐标对应的 jar 包在 Maven 本地仓库中的位置:
在这里插入图片描述

一定要学会根据坐标到本地仓库中找到对应的 jar 包。

1.2 实验操作

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

1.3 Maven核心概念:POM

在这里插入图片描述

1.4 Maven核心概念:约定的目录结构

在这里插入图片描述

在这里插入图片描述

2. 实验二:在 Maven 工程中编写代码

2.1 主体程序

在这里插入图片描述

主体程序指的是被测试的程序,同时也是将来在项目中真正要使用的程序。
在这里插入图片描述

2.2 测试程序

在这里插入图片描述

在这里插入图片描述

3. 执行 Maven 的构建命令

3.1 要求

运行 Maven 中和构建操作相关的命令时,必须进入到 pom.xml 所在的目录。如果没有在 pom.xml 所在的目录运行 Maven 的构建命令,那么会看到下面的错误信息:
在这里插入图片描述

在这里插入图片描述

3.2 清理操作

mvn clean
效果:删除 target 目录

3.3 编译操作

主程序编译:mvn compile
测试程序编译:mvn test-compile
主体程序编译结果存放的目录:target/classes
测试程序编译结果存放的目录:target/test-classes

3.4 测试操作

mvn test
测试的报告存放的目录:target/surefire-reports

3.5 打包操作

mvn package
打包的结果——jar 包,存放的目录:target

3.6 安装操作

mvn install

[INFO] Installing D:\maven-workspace\space201026\pro01-maven-java\target\pro01-maven-java-1.0-SNAPSHOT.jar to D:\maven-rep1026\com\atguigu\maven\pro01-maven-java\1.0-SNAPSHOT\pro01-maven-java-1.0-SNAPSHOT.jar
[INFO] Installing D:\maven-workspace\space201026\pro01-maven-java\pom.xml to D:\maven-rep1026\com\atguigu\maven\pro01-maven-java\1.0-SNAPSHOT\pro01-maven-java-1.0-SNAPSHOT.pom

安装的效果是将本地构建过程中生成的 jar 包存入 Maven 本地仓库。这个 jar 包在 Maven 仓库中的路径是根据它的坐标生成的
坐标信息如下:
在这里插入图片描述

在 Maven 仓库中生成的路径如下:

D:\maven-rep1026\com\atguigu\maven\pro01-maven-java\1.0-SNAPSHOT\pro01-maven-java-1.0-SNAPSHOT.jar

另外,安装操作还会将 pom.xml 文件转换为 XXX.pom 文件一起存入本地仓库。所以我们在 Maven 的本地仓库中想看一个 jar 包原始的 pom.xml 文件时,查看对应 XXX.pom 文件即可,它们是名字发生了改变,本质上是同一个文件。

4. 创建 Maven 版的 Web 工程

4.1 说明

使用 mvn archetype:generate 命令生成 Web 工程时,需要使用一个专门的 archetype。这个专门生成 Web 工程骨架的 archetype 可以参照官网看到它的用法:
在这里插入图片描述

参数 archetypeGroupId、archetypeArtifactId、archetypeVersion 用来指定现在使用的 maven-archetype-webapp 的坐标。

4.2 操作

注意:如果在上一个工程的目录下执行 mvn archetype:generate 命令,那么 Maven 会报错:不能在一个非 pom 的工程下再创建其他工程。所以不要再刚才创建的工程里再创建新的工程,请回到工作空间根目录来操作。
然后运行生成工程的命令:

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-webapp -DarchetypeVersion=1.4

在这里插入图片描述

4.3 生成的pom.xml

在这里插入图片描述

4.4 生成的Web工程的目录结构

在这里插入图片描述

4.5 创建 Servlet

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4.6 在 index.jsp 页面编写超链接

在这里插入图片描述

4.7 编译

在这里插入图片描述

4.8 配置对 servlet-api.jar 包的依赖

对于不知道详细信息的依赖可以到 https://mvnrepository.com/ 网站查询。使用关键词搜索,然后在搜索结果列表中选择适合的使用
在这里插入图片描述

比如,我们找到的 servlet-api 的依赖信息:
在这里插入图片描述

4.9 将 Web 工程打包为 war 包

在这里插入图片描述

4.10 将 war 包部署到 Tomcat 上运行

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5. 让 Web 工程 依赖 Java 工程

5.1 观念

明确一个意识:从来只有 Web 工程依赖 Java 工程,没有反过来 Java 工程依赖 Web 工程。本质上来说,Web 工程依赖的 Java 工程其实就是 Web 工程里导入的 jar 包。最终 Java 工程会变成 jar 包,放在 Web 工程的 WEB-INF/lib 目录下。

5.2 操作

在 pro02-maven-web 工程的 pom.xml 中,找到 dependencies 标签,在 dependencies 标签中做如下配置:
在这里插入图片描述

5.3 在 Web 工程中,编写测试代码

在这里插入图片描述

5.4 执行Maven命令

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

6. 测试依赖的范围

6.1 依赖范围

在这里插入图片描述

在这里插入图片描述

6.2 测试

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

然后运行Maven的编译命令:mvn compile
然后看到编译成功。

7. 测试依赖的传递性

7.1 依赖的传递性

在这里插入图片描述

7.2 使用 compile 范围依赖 spring-core

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

7.3 验证 test 和 provided 范围不能传递

在这里插入图片描述

8. 测试依赖的排除

8.1 概念

在这里插入图片描述

8.2 配置方式

在这里插入图片描述

8.3 测试

在这里插入图片描述

在这里插入图片描述

9. 继承

9.1 概念

在这里插入图片描述

9.2 作用

在这里插入图片描述

9.3 举例

在一个工程中依赖多个 Spring 的 jar 包
在这里插入图片描述

9.4 操作

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

9.5 实际意义

在这里插入图片描述

10. 聚合

10.1 聚合本身的含义

部分组成整体
在这里插入图片描述

动画片《战神金刚》中的经典台词:“我来组成头部!我来组成手臂!”就是聚合关系最生动的体现

10.2 Maven 中的聚合

在这里插入图片描述

10.3 好处

在这里插入图片描述

10.4 聚合的配置

在这里插入图片描述

10.5 依赖循环问题

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词