maven从入门到精通 第三章 Maven中形成web对Java工程的依赖

这里写自定义目录标题

  • 一 war永远依赖于jar
    • 1. 在web工程的项目2中,加入项目1的路径依赖
    • 2 在web工程中,加入测试代码
      • 2.1 创建目录
      • 2.2 确认依赖junit
      • 2.3创建测试类
      • 2.4 运行测试
      • 2.5 打包
      • 2.6 查看依赖列表
      • 2.7 树形结构查看
  • 二 测试依赖的范围
    • 1 compile的编译过程
      • 1.1 compile编译Calulator
      • 1.2 编译CalculatorTest
      • 1.3 打包成war包
    • 2 test的编译过程
      • 2.1 main空间里面编译信息
      • 2.2 test空间下编译
    • 3 provided的编译过程
      • 3.1 test和provided不参与部署到服务器
      • 3.2 provided已经提供的意思
  • 三 测试依赖的总结
    • 1 compile:
    • 2 test
    • 3 provided

一 war永远依赖于jar

从来只有war包中含有jar包,而没有jar包中含有war包
web工程依赖的java工程,就是jar包,这个jar包经过自动化部署后,会放在web工程的web-inf/lib目录下

1. 在web工程的项目2中,加入项目1的路径依赖

在 pro02-maven-web 工程的 pom.xml 中,找到 dependencies 标签,在 dependencies 标签中做如下配置

<dependency>
<!--
通过指定被依赖工程的坐标完成依赖
-->
  <groupId>com.xyt.maven</groupId>
  <artifactId>pro01-maven-java</artifactId>
  <version>1.0-SNAPSHOT</version>
  <scope>compiler</scope>
 
</dependency>

2 在web工程中,加入测试代码

证明在Web工程中可以使用Java工程中创建的那个类:Calculator

2.1 创建目录

mkdir src\test\java\com\xyt\maven

2.2 确认依赖junit

<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.12</version>
  <scope>test</scope>
</dependency>

2.3创建测试类

在这里插入图片描述

2.4 运行测试

mvn test
在这里插入图片描述

2.5 打包

D:\maven_workspace\spaceVideo\pro02-maven-web>mvn package
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------< com.xyt.maven:pro02-maven-web >--------------------
[INFO] Building pro02-maven-web Maven Webapp 1.0-SNAPSHOT
[INFO]   from pom.xml
[INFO] --------------------------------[ war ]---------------------------------
[INFO]
[INFO] --- resources:3.0.2:resources (default-resources) @ pro02-maven-web ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory D:\maven_workspace\spaceVideo\pro02-maven-web\src\main\resources

确实生成了一个jar包
在这里插入图片描述

2.6 查看依赖列表

D:\maven_workspace\spaceVideo\pro02-maven-web>mvn dependency:list
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------< com.xyt.maven:pro02-maven-web >--------------------
[INFO] Building pro02-maven-web Maven Webapp 1.0-SNAPSHOT
[INFO]   from pom.xml
[INFO] --------------------------------[ war ]---------------------------------
	[INFO]
	[INFO] The following files have been resolved:
	[INFO]    junit:junit:jar:4.11:test
	[INFO]    com.xyt.maven:pro01-maven-java:jar:1.0-SNAPSHOT:compile
	[INFO]    org.hamcrest:hamcrest-core:jar:1.3:test
	[INFO]    javax.servlet:javax.servlet-api:jar:3.1.0:provided

2.7 树形结构查看

D:\maven_workspace\spaceVideo\pro02-maven-web>mvn dependency:tree
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------< com.xyt.maven:pro02-maven-web >--------------------
[INFO] Building pro02-maven-web Maven Webapp 1.0-SNAPSHOT
[INFO]   from pom.xml
[INFO] --------------------------------[ war ]---------------------------------
[INFO]
[INFO] --- dependency:2.8:tree (default-cli) @ pro02-maven-web ---
[WARNING] Parameter 'localRepository' is deprecated core expression; Avoid use of ArtifactRepository type. If you need access to local repository, switch to '${repositorySystemSession}' expression and get LRM from it instead.
[INFO] com.xyt.maven:pro02-maven-web:war:1.0-SNAPSHOT
[INFO] +- junit:junit:jar:4.11:test
[INFO] |  \- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] +- javax.servlet:javax.servlet-api:jar:3.1.0:provided
[INFO] \- com.xyt.maven:pro01-maven-java:jar:1.0-SNAPSHOT:compile
[INFO] ------------------------------------------------------------------------

二 测试依赖的范围

一个depency里面有四个元素

<dependency>
<!--
通过指定被依赖工程的坐标完成依赖
-->
  <groupId>com.xyt.maven</groupId>
  <artifactId>pro01-maven-java</artifactId>
  <version>1.0-SNAPSHOT</version>
  <scope>compile</scope>
 
</dependency>

scope代表作用范围,标签的作用范围
scope提供这么多依赖的原因就是,把它测试用的test,本地提供的provided,和常规complie区分开来

compile/test/provided/system/runtime/import

在这里插入图片描述
开发过程有效的含义就是,在IDEA中写项目时候,我们能不能把它点出来
部署到服务器有效的含义是,把war包丢到tomcat里面时,是否包含对应文件

将这个文件里面导入

1 compile的编译过程

1.1 compile编译Calulator

在 HelloServlet 类中导入 Calculator 类,然后编译就说明有效。

D:\maven_workspace\spaceVideo\pro02-maven-web\src\main\java\xyt\maven\HelloServlet.java

引入一个测试文件

/**
* 通过import语句将要测试的类引入当前类
引入后,编译通过,可以使用,这个范围的依赖对当前类有效
引入后,编译失败,不可以使用,这个范围的依赖对当前类无效

*main目录下的java类:HelloServlet
*complie范围引入的·依赖:pro01-maven-java
*pro01-maven-java中的类:Calculator
*验证的目标:
*
*
*
*
*/
import com.xyt.maven.Calculator;
  
public class HelloServlet extends HttpServlet{
  
  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
    response.getWriter().write("hello maven web");
    
  }
  
}
D:\maven_workspace\spaceVideo\pro02-maven-web>mvn clean compile
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------< com.xyt.maven:pro02-maven-web >--------------------
[INFO] Building pro02-maven-web Maven Webapp 1.0-SNAPSHOT
[INFO]   from pom.xml
[INFO] --------------------------------[ war ]---------------------------------
[INFO]
[INFO] --- clean:3.1.0:clean (default-clean) @ pro02-maven-web ---
[INFO] Deleting D:\maven_workspace\spaceVideo\pro02-maven-web\target
[INFO]
[INFO] --- resources:3.0.2:resources (default-resources) @ pro02-maven-web ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory D:\maven_workspace\spaceVideo\pro02-maven-web\src\main\resources
[INFO]
[INFO] --- compiler:3.8.0:compile (default-compile) @ pro02-maven-web ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to D:\maven_workspace\spaceVideo\pro02-maven-web\target\classes
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
D:\maven_workspace\spaceVideo\pro02-maven-web\pom.xml
<dependency>
<!--
通过指定被依赖工程的坐标完成依赖
-->
  <groupId>com.xyt.maven</groupId>
  <artifactId>pro01-maven-java</artifactId>
  <version>1.0-SNAPSHOT</version>
  <scope>compile</scope>
 
</dependency>

1.2 编译CalculatorTest

D:\maven_workspace\spaceVideo\pro02-maven-web>mvn clean test-compile
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------< com.xyt.maven:pro02-maven-web >--------------------
[INFO] Building pro02-maven-web Maven Webapp 1.0-SNAPSHOT
[INFO]   from pom.xml
[INFO] --------------------------------[ war ]---------------------------------
[INFO]
[INFO] --- clean:3.1.0:clean (default-clean) @ pro02-maven-web ---
[INFO] Deleting D:\maven_workspace\spaceVideo\pro02-maven-web\target
[INFO]
[INFO] --- resources:3.0.2:resources (default-resources) @ pro02-maven-web ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory D:\maven_workspace\spaceVideo\pro02-maven-web\src\main\resources
[INFO]
[INFO] --- compiler:3.8.0:compile (default-compile) @ pro02-maven-web ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to D:\maven_workspace\spaceVideo\pro02-maven-web\target\classes
[INFO]
[INFO] --- resources:3.0.2:testResources (default-testResources) @ pro02-maven-web ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory D:\maven_workspace\spaceVideo\pro02-maven-web\src\test\resources
[INFO]
[INFO] --- compiler:3.8.0:testCompile (default-testCompile) @ pro02-maven-web ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to D:\maven_workspace\spaceVideo\pro02-maven-web\target\test-classes
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
  • 通过import语句将要测试的类引入当前类
    引入后,编译通过,可以使用,这个范围的依赖对当前类有效
    引入后,编译失败,不可以使用,这个范围的依赖对当前类无效

  • main目录下的java类:HelloServlet

  • complie范围引入的·依赖:pro01-maven-java

  • pro01-maven-java中的类:Calculator

1.3 打包成war包

主体功能放在这个compile里面99%
打war包:

D:\maven_workspace\spaceVideo\pro02-maven-web>mvn clean compile
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------< com.xyt.maven:pro02-maven-web >--------------------
[INFO] Building pro02-maven-web Maven Webapp 1.0-SNAPSHOT
[INFO]   from pom.xml
[INFO] --------------------------------[ war ]---------------------------------
[INFO]
[INFO] --- clean:3.1.0:clean (default-clean) @ pro02-maven-web ---
[INFO] Deleting D:\maven_workspace\spaceVideo\pro02-maven-web\target
[INFO]
[INFO] --- resources:3.0.2:resources (default-resources) @ pro02-maven-web ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory D:\maven_workspace\spaceVideo\pro02-maven-web\src\main\resources
[INFO]
[INFO] --- compiler:3.8.0:compile (default-compile) @ pro02-maven-web ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to D:\maven_workspace\spaceVideo\pro02-maven-web\target\classes
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------

2 test的编译过程

2.1 main空间里面编译信息

在HttpSevelet里面导入信息

import org.junit.Test;

编译失败:验证main空间下编译这个Test依赖,会出问题

D:\maven_workspace\spaceVideo\pro02-maven-web>mvn clean compile
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------< com.xyt.maven:pro02-maven-web >--------------------
[INFO] Building pro02-maven-web Maven Webapp 1.0-SNAPSHOT
[INFO]   from pom.xml
[INFO] --------------------------------[ war ]---------------------------------
[INFO]
[INFO] --- clean:3.1.0:clean (default-clean) @ pro02-maven-web ---
[INFO] Deleting D:\maven_workspace\spaceVideo\pro02-maven-web\target
[INFO]
[INFO] --- resources:3.0.2:resources (default-resources) @ pro02-maven-web ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory D:\maven_workspace\spaceVideo\pro02-maven-web\src\main\resources
[INFO]
[INFO] --- compiler:3.8.0:compile (default-compile) @ pro02-maven-web ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to D:\maven_workspace\spaceVideo\pro02-maven-web\target\classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /D:/maven_workspace/spaceVideo/pro02-maven-web/src/main/java/xyt/maven/HelloServlet.java:[25,17] 程序包org.junit不存在
[INFO] 1 error
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  1.318 s
[INFO] Finished at: 2023-05-04T23:43:22+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) on project
 pro02-maven-web: Compilation failure
[ERROR] /D:/maven_workspace/spaceVideo/pro02-maven-web/src/main/java/xyt/maven/HelloServlet.java:[25,17] 程序包org.junit不存在

在pro01-maven-java\src\main\java\com\xyt\maven目录下修改Calculator.java

2.2 test空间下编译

<dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>

没问题,test必然可以在test下编译,本身test就是为test服务的
在HttpSevelet里面注释信息

//import org.junit.Test;


```bash
D:\maven_workspace\spaceVideo\pro02-maven-web>mvn clean test
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------< com.xyt.maven:pro02-maven-web >--------------------
[INFO] Building pro02-maven-web Maven Webapp 1.0-SNAPSHOT
[INFO]   from pom.xml
[INFO] --------------------------------[ war ]---------------------------------
[INFO]
[INFO] --- clean:3.1.0:clean (default-clean) @ pro02-maven-web ---
[INFO] Deleting D:\maven_workspace\spaceVideo\pro02-maven-web\target
[INFO]
[INFO] --- resources:3.0.2:resources (default-resources) @ pro02-maven-web ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory D:\maven_workspace\spaceVideo\pro02-maven-web\src\main\resources
[INFO]
[INFO] --- compiler:3.8.0:compile (default-compile) @ pro02-maven-web ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to D:\maven_workspace\spaceVideo\pro02-maven-web\target\classes
[INFO]
[INFO] --- resources:3.0.2:testResources (default-testResources) @ pro02-maven-web ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory D:\maven_workspace\spaceVideo\pro02-maven-web\src\test\resources
[INFO]
[INFO] --- compiler:3.8.0:testCompile (default-testCompile) @ pro02-maven-web ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to D:\maven_workspace\spaceVideo\pro02-maven-web\target\test-classes
[INFO]
[INFO] --- surefire:2.22.1:test (default-test) @ pro02-maven-web ---
[WARNING] Parameter 'localRepository' is deprecated core expression; Avoid use of ArtifactRepository type. If you need access to local repository, switch to '${repositorySystemSession}' expression and get LRM from it instead.
[INFO]
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running com.xyt.maven.CalculatorTest
输出测试的程序代码
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.03 s - in com.xyt.maven.CalculatorTest
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

3 provided的编译过程

3.1 test和provided不参与部署到服务器

  • compile范围依赖的jar包会放入war包,通过test范围依赖的jar包不会放入war包。
  • 所有东西都发给服务器,会增加服务器的负担
  • 编译程序类似于火箭发射,junit类似于脚手架,不会交房交个脚手架
    在这里插入图片描述
    在这里插入图片描述

3.2 provided已经提供的意思

说明Tomcat里面有这个依赖,如果非要提供,会造成依赖冲突的问题
比方说jsp-api没有注明provided带进war包部署,会造成视图显示错误,造成空指针异常
NULLPOINTEREXCEPTION,

三 测试依赖的总结

1 compile:

使用第三方框架的jar包,或者项目真正需要部署的功能依赖,都用这个scope修饰
详细解释:
1)编译依赖范围(compile),该范围就是默认依赖范围,此依赖范围对 于编译、测试、运行三种classpath都有效,举个简单的例子,假如项目中有spring-core的依赖,那么spring-core不管是在编译,测试,还是运行都会被用到,因此spring-core必须是编译范围(构件默认的是编译范围,所以依赖范围是编译范围的无须显示指定)

<dependency>
 <groupId>org.springframework</groupId>
 <artifactId>spring-core</artifactId>
 <version>2.5</version>
 <scope>compile</scope> <!--默认为该依赖范围,无须显示指定--〉
</dependency>

2 test

测试过程中使用的jar包,以test范围写进来,比如junit
详细解释

顾名思义就是针对于测试的,使用此依赖范围的依赖,只对测试classpath有效,在编译主代码和项目运行时,都将无法使用该依赖,最典型的例子就是 Junit, 构件在测试时才需要,所以它的依赖范围是测试,因此它的依赖范围需要显示指定为test ,当然不显示指定依赖范围也不会报错,但是该依赖会被加入到编译和运行的classpath中,造成不必要的浪费 。

 <dependency>
     <groupId>junit</groupId>
     <artifactId>junit</artifactId>
     <version>4.7</version>
    <scope>test</scope>
    </dependency>

3 provided

主要是为了减轻服务器的负担,避免依赖冲突,比方说本地项目中有jsp-api.jar,但是tomcat里面也有这个文件,如果硬要导入,就会产生冲突,报空指针异常

典型的例子就是servlet-api, 编译和测试该项目的时候需要该依赖,但是在运行时,web容器已经提供的该依赖,所以运行时就不再需要此依赖,如果不显示指定该依赖范围,并且容器依赖的版本和maven依赖的版本不一致的话,可能会引起版本冲突,造成不良影响

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/17821.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

快速排序算法

文章目录 一、前言二、快速排序算法的基本思想三、快速排序算法流程四、实现快速排序算法的Java代码五、分析代码实现过程1.partition方法2.quickSort方法3.swap方法4.main方法5.整体串讲 六、对快速排序算法的时间复杂度和稳定性进行讨论七、对快速排序算法的空间复杂度分析比…

USB2.0(一):基础

一、总线标准 USB1.1&#xff1a;支持12Mbps全速率&#xff08;FullSpeed&#xff09;和1.5Mbps低速率&#xff08; HalfSpeed&#xff09;USB2.0&#xff1a;支持480Mbps高速率&#xff08;High Speed&#xff09;&#xff0c;兼容1.1USB3.0&#xff1a;支持5Gbps超高速率&am…

asp.net+sqlserver学生学籍管理系统

1.系统登录模块&#xff1a;为了保证系统的安全性和保密性&#xff0c;便于用户的管理&#xff0c;对用户设置权限。 界面上需要输入用户名、密码、验证码以及用户类型。 用户类型&#xff1a;普通用户和管理员用户。 2.用户信息管理模块&…

HarmonyOS版的“抖音”长啥样?有图有真相

“鸿蒙系统实战短视频App 从0到1掌握HarmonyOS”系列课程是面向HarmonyOS实战的视频教程&#xff0c;该课程会通过构建一个真实的短视频App来向读者展示HarmonyOS的全过程。 本节将演示基于HarmonyOS短视频App的核心功能。通过了解该App的功能&#xff0c;也能初步对本课程的内…

Android-实现一个登录页面(kotlin)

准备工作 首先&#xff0c;确保你已经安装了 Android Studio。如果还没有安装&#xff0c;请访问 Android Studio 官网 下载并安装。 前提条件 - 安装并配置好 Android Studio Android Studio Electric Eel | 2022.1.1 Patch 2 Build #AI-221.6008.13.2211.9619390, built …

5---最长回文字串

给你一个字符串 s&#xff0c;找到 s 中最长的回文子串。 如果字符串的反序与原始字符串相同&#xff0c;则该字符串称为回文字符串。 示例 1&#xff1a; 输入&#xff1a;s “babad” 输出&#xff1a;“bab” 解释&#xff1a;“aba” 同样是符合题意的答案。 示例 2&…

自行车和电动自行车上亚马逊标准有什么区别?UL2849,16CFR1512

自行车 自行车是一种两轮的或三轮的交通工具&#xff0c;完全靠人力驱动后轮前进。本政策所涵盖的自行车包括当座位调整到最高位置时&#xff0c;座位离地面超过 25 英寸的自行车&#xff0c;以及座位高度为 25 英寸或以下的人行道自行车。本政策也适用于公路使用的卧式自行车…

2023-05-04:用go语言重写ffmpeg的scaling_video.c示例,用于实现视频缩放(Scaling)功能。

2023-05-04&#xff1a;用go语言重写ffmpeg的scaling_video.c示例&#xff0c;用于实现视频缩放&#xff08;Scaling&#xff09;功能。 答案2023-05-04&#xff1a; 这段代码实现了使用 libswscale 库进行视频缩放的功能。下面是程序的主要流程&#xff1a; 1.获取命令行参…

MySQL事务

1、事务的概念 事务是一种机制、一个操作序列&#xff0c;包含了一组数据库操作命令&#xff0c;并且把所有的命令作为一个整体一起向系统提交或撤销操作请求&#xff0c;即这一组数据库命令要么都执行&#xff0c;要么都不执行。 事务是一个不可分割的工作逻辑单元&#xff…

推荐一些非常好用的DNS服务器

推荐一些非常好用的DNS服务器 1、114公共DNS服务器 1&#xff09; 老牌的114DNS&#xff0c;全国三网通用高速&#xff0c;纯净无劫持无需再忍受被强扭去看广告或粗俗网站之痛苦 DNS地址为&#xff1a;114.114.114.114 和 114.114.115.115 2&#xff09;拦截 钓鱼病毒木马网…

【目标检测论文阅读笔记】Dynamic Head: Unifying Object Detection Heads with Attentions

Abstract 在目标检测中结合定位和分类的复杂性导致了方法的蓬勃发展。以前的工作试图提高各种目标检测头的性能&#xff0c;但未能提出统一的观点。在本文中&#xff0c;我们提出了一种新颖的动态头部框架 来统一目标检测头部和注意力。通过在用于尺度感知的特征级别之间、用于…

SpringCloud学习笔记06

九十五、Cloud Alibaba简介 0、why会出现SpringCloud alibaba Spring Cloud Netflix项目进入维护模式 1、是什么 官网&#xff1a;spring-cloud-alibaba/README-zh.md at 2.2.x alibaba/spring-cloud-alibaba GitHub 2、能干嘛 3、去哪下 spring-cloud-alibaba/README-…

【软考高项笔记】第3章 信息系统治理(针对甲方)3.1 IT治理

第3章 信息系统治理&#xff08;针对甲方&#xff09; 3.1 IT治理 不同于管理&#xff0c;角度更高3.1.1 IT治理基础 目标价值 与业务目标一致 有效利用信息与数据资源 风险管理 管理层次 最高管理层 &#xff08;定目标&#xff0c;战略&#xff09; 执行管理层 &#xff08…

【BingChat】Microsoft Edge/Bing Chat 注册使用完全指南

欢迎关注【youcans的学习笔记】原创作品&#xff0c;火热更新中 【BingChat】Microsoft Edge/Bing Chat 注册使用完全指南 1. BingChat 简介2. BingChat 用户注册2.1 下载微软浏览器 Edge 预览版2.2 申请微软账户2.3 登录 Bing.com2.4 手机/平板使用 BingChat 3. BingChat 的聊…

4.shell函数

文章目录 shell函数shell函数的作用函数返回值函数传参函数变量作用范围递归阶乘使用函数递归目录/var/log&#xff0c;如果是文件直接输出文件名&#xff0c;如果是目录则输出目录名且输出此目录下的所有目录和文件名通过脚本输出环境变量PATH所包含的所有目录以及其中的子目录…

【Jmeter快速入门】

Jmeter快速入门 Jmeter快速入门1.安装Jmeter1.1.下载1.2.解压1.3.运行 2.快速入门2.1.设置中文语言2.2.基本用法 Jmeter快速入门 1.安装Jmeter Jmeter依赖于JDK&#xff0c;所以必须确保当前计算机上已经安装了JDK&#xff0c;并且配置了环境变量。 1.1.下载 可以Apache Jm…

SSM整合详细教学(上)

SSM整合详细教学&#xff08;上&#xff09; 一、SSM整合1. SSM整合配置1.1 SSM整合流程1.2 SSM整合配置1.2.1 创建工程&#xff0c;添加依赖和插件1.2.2 Spring整合Mybatis1.2.3 Spring整合SpringMVC 2. 功能模块开发2.1 数据层开发(BookDao)2.2 业务层开发(BookService/BookS…

TIM编码器接口

一、知识点 1、Encoder Interface 编码器接口的工作流程 编码器接口可接收增量&#xff08;正交&#xff09;编码器的信号&#xff0c;根据编码器旋转产生的正交信号脉冲&#xff0c;自动控制CNT自增或自减&#xff0c;从而指示编码器的位置、旋转方向和旋转速度 2、编码器接口…

「领域驱动设计」DDD,六边形架构,洋葱架构,整洁架构和CQRS的整合

这篇文章是软件架构编年史的一部分&#xff0c;一系列关于软件架构的文章。在这些文章中&#xff0c;我写了我对软件架构的了解&#xff0c;我如何看待它&#xff0c;以及我如何使用这些知识。如果您阅读了本系列以前的文章&#xff0c;那么本文的内容可能更有意义。 今天的帖子…

【多任务学习】Multi-task Learning 手把手编码带数据集, 一文吃透多任务学习

文章目录 前言1.多任务学习1.1 定义1.2 原理 2. 多任务学习code2.1 数据集初探2.2 预处理2.3 网络结构2.4 训练 3. 总结 前言 我们之前讲过的模型通常聚焦单个任务,比如预测图片的类别等,在训练的时候,我们会关注某一个特定指标的优化. 但是有时候,我们需要知道一个图片,从它身…