Maven 项目管理工具

目录

Maven简介

Maven快速上手

Maven详细介绍

Maven工作机制

Maven安装及配置

使用IDEA创建Maven Web工程


Maven简介

Maven是 Apache 开源组织奉献的一个开源项目,可以翻译为“专家”或“内行”。

Maven 的本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM project object model),通过简单的配置和命令就可以完成项目的构建管理依赖管理。 使用 Maven 可以实现自动化构建、测试、打包和发布项目,大大提高了开发效率和质量。

简要概述:我们使用Idea构建Java项目中,若是要使用Mysql数据库要导包mysql-connector-java.jar JDBC驱动或者其他封装好的包,常见方式是去官网下载JAR文件,导入项目中。采用Maven能够取消这一步骤,通过POM.xml文件进行管理依赖。

Maven官网:Maven – Welcome to Apache Maven

Maven快速上手

第一次使用Maven需要到官网下载Maven 后续不再使用这一步骤,类似JDK的下载

Maven下载

下载地址:Maven – Download Apache Maven,当前最新版本是3.9.9,选择apache-maven-3.9.9-bin.zip压缩包下载到本地。

Maven安装

只需要将Maven解压到非中文、没有空格的目录。比如解压到D盘,那么Maven安装目录就是D:\apache-maven-3.9.9

IDEA集成Maven

  • 通过File-->Settings-->Build,Execution,Deployment-->Build Tools-->Maven可以配置当前工程的Maven。
  • 通过File-->New Projects Setup-->Settings for New Projects-->Build,Execution,Deployment-->Build Tools-->Maven可以为后面新创建的所有工程自动配置Maven。

IDEA中创建Maven工程

通过File-->New-->Project-->Maven Archetype可以使用“mvnarchetype:generate”命令创建Maven工程。

  1. 输入工程名称,选择工程在电脑中的存放位置以及JDK版本。
  2. 选择Archetype工程原型(架构),不同的架构创建的工程结构是不同的。
  • 选择apache.maven.archetypes:maven-archetype-quickstart,可以创建Java工程。
  • 选择org.apache.maven.archetypes:maven-archetype-webapp,可以创建Web工程。
  1. 输入Maven工程的GAV三坐标。
  • GroupId:公司或组织名,一般使用倒序的域名,如com.taobao或者com.cg。
  • ArtifactId:一个项目或者是项目中的一个模块名称,默认和工程名称相同。

pom.xml文件内容解读

最基本的内容包含

一、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.example</groupId><artifactId>mybatis</artifactId><version>0.0.1-SNAPSHOT</version><!--添加依赖GAV三坐标  具体的可以让AI帮你添加-->
<!--常用依赖:mybatis、spring boot、junit、mysql、-->
<dependencies>
<dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><version>8.4.0</version>
</dependency>
</dependencies></project>
详细说明POM.XML文档
<?xml version="1.0" encoding="UTF-8"?>
<!--XML文档声明-->
<!--拓展知识:XML文件 可扩展标记语言-->
<!--被设计用来存储和传输数据。XML文件的结构非常灵活,可以自定义标签来描述数据。它被广泛应用于数据交换、配置文件、文档存储等领域。--><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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<!--根元素-->
<!--<project></project>标签,-->
<!--作用:将该文档内所有的文件都包含其中-->
<!--XML 命名空间和 Schema 位置:
xmlns="http:...":这个属性定义了 XML 文档的默认命名空间,指向 Maven 的 POM 4.0.0 规范。这告诉 Maven 这个 pom.xml 文件遵循哪个版本的项目对象模型规范。
xmlns:xsi="http:...":这个属性定义了 XML Schema 实例的命名空间,它用于提供对 XML Schema 的引用,以验证 XML 文档的结构。
xsi:schemaLocation="http:..":这个属性提供了 XML Schema 的位置,Maven 使用这个位置来验证 pom.xml 文件的结构是否正确。如果 Maven 无法访问这个 Schema,可能是因为网络问题或者链接不正确。--><modelVersion>4.0.0</modelVersion>
<!--子元素-->
<!--<modelVersion> 元素是必需的,并且必须位于文件的顶部,作为根 <project> 元素的直接子元素。--><groupId>org.example</groupId><artifactId>mybatis</artifactId><version>0.0.1-SNAPSHOT</version>
<!--这三个标签不可省略,用于确定Maven项目的唯一标识,分别代表:-->
<!--<groupId> 通常,这个值遵循 Java 包命名约定,是反向的域名格式。如果一个组织的域名是 example.com,那么它的 groupId 可能是 com.example。-->
<!--<artifactId> 与 groupId 结合使用,以确保在 Maven 仓库中的唯一性。这个值通常反映了项目或构件的名称。-->
<!--<version> 版本号通常遵循语义化版本控制(Semantic Versioning)格式,包括主版本号、次版本号、修订号,可能还包括预发布版本标识。--><name>mybatis_2.0</name><description>mybatis_2.0</description><url>http://maven.apache.org</url>
<!--可省,代表-->
<!--<name> 元素定义了项目的名称。-->
<!--<description> 元素提供了项目的详细描述。-->
<!--<url> 元素的值可以是任何有效的URL:-->
<!--
项目主页的地址
项目的源代码仓库(如GitHub、GitLab或Bitbucket)
项目的文档网站
项目的开发者论坛或邮件列表
项目的bug跟踪系统
--><dependencies><!--MyBatis框架依赖--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.16</version></dependency><!--MySQL驱动依赖--><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><version>8.4.0</version></dependency></dependencies>
<!--依赖的GAV三坐标 dependencies 嵌套 dependency--></project>

其他标签

父类POM

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.3.4</version><relativePath/> <!-- lookup parent from repository -->
</parent>

属性 java.version的版本号

<properties><java.version>17</java.version>
</properties>

定义项目构建过程

<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins>
</build>

Maven详细介绍

Maven工作机制

首先,我们需要在电脑中安装Maven(Maven核心程序),Maven中提供了很多Maven命令来完成项目的构建管理。我们需要使用Maven命令创建Maven工程,在Maven工程中有一个pom.xml文件,pom.xml是Maven工程的核心配置文件,通过该配置文件我们可以完成Jar包依赖、项目构建等的配置。

比如,我们需要在工程中使用MySQL驱动的Jar包,我们只需要在pom.xml中完成添加如下依赖配置:

<dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><version>8.4.0</version>
</dependency>

groupId(组ID)、artifactId(工件ID)和version(版本)是Jar包依赖的GAV三坐标,GAV三坐标就相当于人的姓+名,起到一个标识的作用。Maven工程在构建的过程中,会依据pom.xml中的GAV三坐标首先从本地仓库中下载jar包添加到工程中,如果本地仓库没有,那么会自动默认去中央仓库(Central Repository:)下载Jar包到本地仓库中,然后添加到工程中。中央仓库中几乎存放了所有的第三方Jar包依赖。通过地址https://mvnrepository.com/可以查询所有Jar包版本的GAV三坐标。

但是中央仓库是部署在国外的,访问速度较慢并且不稳定,因此我们配置使用阿里云镜像仓库(https://maven.aliyun.com/repository/central),速度更快更稳定。

Maven安装及配置

【任务】:完成电脑中Maven的下载、安装和配置。

Maven下载

下载地址:Maven – Download Apache Maven,当前最新版本是3.9.9,选择apache-maven-3.9.9-bin.zip压缩包下载到本地。

Maven安装

只需要将Maven解压到非中文、没有空格的目录。比如解压到D盘,那么Maven安装目录就是D:\apache-maven-3.9.9

Maven配置

找到Maven安装目录下的conf/settings.xml配置文件并进行编辑。

  1. 配置本地仓库

在<settings>节点下加入<localRepository>节点配置本地仓库位置(默认的本地仓库地址为${user.home}/.m2/repository)。

<!--配置本地仓库位置-->
<localRepository>D:\maven\repository</localRepository>
  1. 配置阿里云远程仓库

在<mirrors>节点下加入<mirror>节点配置阿里云远程仓库镜像地址。

<!--配置阿里云远程镜像仓库--><mirror><id>alimaven</id><mirrorOf>central</mirrorOf><name>aliyun maven</name><url>https://maven.aliyun.com/repository/central</url></mirror>
  1. 配置JDK版本

由于Maven软件是使用java语言编写的程序,其运行需要JDK环境支持,因此在安装Maven环境之前一定要安装JDK(建议JDK17版本,如果电脑中未安装,JDK17安装与配置参考安装JDK17并配置Java环境变量_jdk17配置环境变量-CSDN博客)。

Maven默认运行JDK版本是1.4,显然不能满足我们的需求,我们需要在Maven配置文件中设置JDK版本。

在Maven配置文件中,找到<profiles>标签,加入<profile>标签,具体指定配置id、JDK版本和编译配置。同时加入<activeProfiles>标签,加入<activeProfile>标签,指定配置id激活配置。

  <profiles><!-- 配置JDK17版本 --><profile><id>jdk-17</id><activation><activeByDefault>true</activeByDefault><jdk>17</jdk></activation><properties>    <maven.compiler.source>17</maven.compiler.source>    <maven.compiler.target>17</maven.compiler.target><maven.compiler.compilerVersion>17</maven.compiler.compilerVersion> </properties></profile></profiles><!-- 激活jdk配置 --><activeProfiles><activeProfile>jdk-17</activeProfile></activeProfiles>
  1. 环境变量配置

(1)配置MAVEN_HOME

(2)编辑Path,添加一行配置“%MAVEN_HOME%\bin”

Maven命令

Maven配置完成后,就可以使用Maven命令进行项目构建和依赖管理了。

命令

作用

说明

mvn -v

查看Maven当前版本信息

使用mvn –v或mvn –version命令,执行后的结果一样。

mvnarchetype:generate

创建Maven项目

执行命令后,提示输入Maven坐标等信息。

mvn clean

删除target目录

target目录是Maven的输出目录,主要存放生成的class、jar、war等文件。

mvn compile

编译程序

编译后的文件将存放在taget/classes目录中。

mvn test-complie

编译测试程序

编译的测试文件将存放在target/test-classes目录中。

mvn test

执行程序测试

测试报告将存放在target/surefire-reports目录中。

mvn package

打包项目

打包后的结果(jar或war包)将存放在target目录中。

mvn install

安装jar包到本地仓库

将打包好的jar包存放到Maven本地仓库中。

打开cmd命令行窗口,输入命令mvn-v,可以查看当前配置的Maven版本号。

其他的命令我们通过IDEA集成Maven进行使用。

IDEA集成Maven进行项目构建

【任务】使用IDEA集成Maven,并使用Maven命令完成工程的创建、编译、清理和打包。

IDEA集成Maven

  • 通过File-->Settings-->Build,Execution,Deployment-->Build Tools-->Maven可以配置当前工程的Maven。
  • 通过File-->New Projects Setup-->Settings for New Projects-->Build,Execution,Deployment-->Build Tools-->Maven可以为后面新创建的所有工程自动配置Maven。

创建Maven工程

通过File-->New-->Project-->Maven Archetype可以使用“mvnarchetype:generate”命令创建Maven工程。

  1. 输入工程名称,选择工程在电脑中的存放位置以及JDK版本。
  2. 选择Archetype工程原型(架构),不同的架构创建的工程结构是不同的。
  • 选择apache.maven.archetypes:maven-archetype-quickstart,可以创建Java工程。
  • 选择org.apache.maven.archetypes:maven-archetype-webapp,可以创建Web工程。
  1. 输入Maven工程的GAV三坐标。
  • GroupId:公司或组织名,一般使用倒序的域名,如com.taobao或者com.cg。
  • ArtifactId:一个项目或者是项目中的一个模块名称,默认和工程名称相同。
  • Version:版本号,默认为1.0-SNAPSHOT。

  1. 点击Create创建按钮创建Maven工程。

Maven工程结构

创建好的Maven工程如下所示:

  • src/main/java:源代码目录,存放开发者编写的实现系统功能的源代码。
  • src/test/java:测试代码目录,存放对源代码进行测试的测试脚本。
  • pom.xml:Maven核心配置文件,进行GAV坐标配置、Jar包依赖配置、项目构建配置等。
  • External Libraries:依赖的外部组件库,比如JDK,依赖的第三方的Jar包等。

  • pom.xml文件内容解读

<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><!--配置工程的GAV三坐标--><groupId>com.cg</groupId><artifactId>maven-project-java</artifactId><version>1.0-SNAPSHOT</version><!--配置打包方式,java工程打成jar包,web工程打成war包--><packaging>jar</packaging><name>maven-project-java</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><!--配置Jar包依赖--><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency></dependencies>
</project>

添加Jar包依赖

比如,我们在工程中添加MySQL驱动依赖,需要在pom.xml文件中,添加mysql-connector-sql依赖配置。

<dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><version>8.4.0</version>
</dependency>

依赖添加后,一定要记得刷新Maven仓库,才能从本地仓库或者远程仓库中下载Jar包添加到工程外部资源库中。

工程编译、清理、打包和安装

可以通过Maven操作面板执行Maven命令完成Maven工程的编译、清理和打包操作。

  • compile:编译命令,自动生成target目录,target目录是Maven工程的输出目录,它包含了编译、测试、打包等构建过程生成的所有文件。
  • clean:清理命令,删除target目录。
  • package:打包命令,将打包后的结果(jar或war包)存放在target目录中。
  • install:安装命令, 将打包后的jar包上传到maven本地仓库。

在Maven工程中进行单元测试

单元测试

单元测试:是指对软件中的最小可测试单元进行检查和验证。至于“单元”的大小或范围,并没有一个明确的标准,“单元”可以是一个函数、方法、类、功能模块或者子系统。

单元测试属于白盒测试范畴,一般由开发人员进行来做,便于及时发现代码bug,保证代码质量。

JUnit单元测试框架由Erich Gamma和Kent Beck编写的一个回归测试框架(Regresion Testing Framework),主要用于Java语言程序的单元测试。

目前最新版本为JUnit5,其官网地址是 https://junit.org/。

JUnit5简单使用

  1. 在Maven工程中,添加JUnit5框架依赖。

在pom.xml文件中,添加JUnit5的Maven坐标信息。其中,scope表示依赖作用的范围,依赖作用的范围可以分为编译阶段、测试阶段和运行阶段。scope的值为test表示该依赖只在测试阶段可用,也就是在src/test文件夹下可用;scope的默认值是compile表示该依赖在编译、测试和运行阶段都可用。具体内容如下:

  <!-- JUnit5的Maven坐标 -->
<dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-api</artifactId><version>5.10.2</version><scope>test</scope>
</dependency>
  1. 在工程中编写JUnit测试方法

JUnit为我们提供了一个@Test注解,用来指定当前方法将作为测试用例方法使用,该方法可以直接运行。

  • @Test注解标识该方法是一个测试方法,可以执行
  • @Test注解的方法必须是public,void,非静态,不带参数。

在IDEA的src/main/test/java目录下添加测试类,在测试类中定义一个测试方法,方法上使用@Test注解,方法体中编写测试内容脚本。具体内容如下:

public class AppTest {@Testpublic void test1(){//编写测试脚本System.out.println("执行测试脚本");}
}
  1. 运行测试方法,执行测试脚本

单击方法前面的运行按钮,运行测试方法

使用IDEA创建Maven Web工程

【任务】使用IDEA创建Maven Web工程,在工程中新建Servlet处理HTTP请求,并将工程发布到Tomcat中运行。

创建Maven Web工程

通过File-->New-->Project-->Maven Archetype创建Maven Web工程。

  1. 输入工程名称,选择工程在电脑中的存放位置以及JDK版本。
  2. 选择org.apache.maven.archetypes:maven-archetype-webapp,可以创建Web工程。
  3. 输入Maven工程的GAV三坐标。

  1. 点击Create创建按钮创建Maven工程。

Maven Web工程结构

  • src/main/java目录:源代码目录,java目录需要手动新建
  • src/main/resources目录:配置目录,该目录用来存放应用的一些配置信息
  • src/main/webapp目录:Web应用资源目录,可以将jsp/html页面,js脚本,css样式等资源放在该目录中。
  • src/main/WEB-INF目录:Web应用的安全目录,包含一个web.xml文件

添加servlet-api依赖

在Web工程中创建Servlet需要servlet-api依赖的支持,因此需要首先在pom.xml中添加servlet-api依赖信息。

<dependency><groupId>jakarta.servlet</groupId><artifactId>jakarta.servlet-api</artifactId><version>6.1.0</version><scope>provided</scope>
</dependency>

scope表示依赖作用的范围,依赖作用的范围可以分为编译阶段、测试阶段和运行阶段。scope的值为provided表示该依赖只在编译和测试阶段可用,在运行阶段不可用,因为servlet-api在运行时由tomcat容器提供,就不需要再重复引入,可以防止和tomcat下jar冲突。

注:Tomcat10已经全面支持JakartaEE,取代了JavaEE,Jakarta EE是Java EE的继任者。

2018年,Oracle(甲骨文)决定将JavaEE移交给开源组织Eclipse基金会,但甲骨文不允许开源组织用Java的名号,于是Eclipse使用 "Jakarta EE"这个名字。Jakarta EE中,所有的包名都是以jakarta开头。

在工程中创建Servlet

@WebServlet("/hello")
public class HelloServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {resp.getWriter().println("Hello,Maven Web");}
}

将工程部署到Tomcat运行并访问Servlet

在IDEA中配置Tomcat,并将工程部署到Tomcat中,并设置应用上下文路径为“/”,启动Tomcat

在浏览器中输入Servlet的访问地址:http://localhost:8080/hello

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为大咖说丨如何通过反馈机制来不断优化大模型应用?

本文分享自时习知 作者&#xff1a;袁泉&#xff08;华为AI数据工程专家&#xff09;全文约3015字&#xff0c;阅读约需8分钟 大模型应用正式投入使用后&#xff0c;存在一个较为普遍的情况&#xff1a;在利用“大模型提升业务运营效率”的过程中&#xff0c;业务部门和IT团队…

K8S如何基于Istio重新实现微服务

K8S如何基于Istio重新实现微服务 认识 Istio前言Istio 的理念Istio 的架构数据平面控制平面服务与 Istio 的关系 Istio 实践环境准备安装 Helm安装Istio 使用 Istio 代理运行应用情感分析应用的架构使用 Istio 代理运行应用Sidecar 注入Ingress 网关网关资源VirtualService 资源…

动态规划 —— 路径问题-不同路径

1. 不同路径 题目链接&#xff1a; 62. 不同路径 - 力扣&#xff08;LeetCode&#xff09;https://leetcode.cn/problems/unique-paths/description/ 2. 算法原理 1. 状态表示&#xff1a;以莫一个位置为结尾 dp[i]表示&#xff1a;以[i&#xff0c;j]位置为结尾时&#xff0…

本地Docker部署开源WAF雷池并实现异地远程登录管理界面

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

[四轴飞行器] 航模常见术语

航模常见术语 1.X模式和模式 从结构形式上四轴飞行器可分为十字模式和X模式。十字模式如下图左所示&#xff0c;X模式如下图右所示。对于姿态测量和控制来说&#xff0c;两种结构差别不大。如果考虑安装航拍摄 像机&#xff0c;为了视线不被挡住&#xff0c;通常采用X模式。 …

mysql原理、部署mysql主从+读写分离、监控mysql主从脚本

mysql&#xff1a;工作原理 从库生成两个线程&#xff0c;一个I/O线程&#xff0c;一个SQL线程&#xff1b; i/o线程去请求主库 的binlog&#xff0c;并将得到的binlog日志写到relay log&#xff08;中继日志&#xff09; 文件中&#xff1b; 主库会生成一个 log dump 线程&…

2024最新保姆级Python下载安装教程

今天给大家带来Python下载安装教程&#xff01; &#x1f449;大礼包&#x1f381;&#xff1a;python安装包/pycharm教程免费分享&#xff08;安全链接&#xff0c;放心点击&#xff09;&#x1f448; 一、下载装 Python 1、进入Python官网首页&#xff0c;下载最新的Pytho…

outlook创建新账户时报错2603、2604的解决办法

全新的戴尔笔记本电脑&#xff0c;自带的Win11家庭版&#xff0c;安装ms office 2021也顺利完成。 但是奇怪的是&#xff0c;只有其中一台笔记本电脑&#xff0c;OUTLOOK无法添加新账户。 但是这个账号在WEB端登录正常&#xff0c;由于是新入职的员工&#xff0c;根据以往经验&…

transformer的新手疑问

Transformer模型的原理主要基于自注意力机制&#xff08;Self-Attention&#xff09;和编码器-解码器结构。它的设计不依赖传统的循环神经网络&#xff08;RNN&#xff09;或卷积神经网络&#xff08;CNN&#xff09;&#xff0c;而是通过并行的方式处理序列数据&#xff0c;极…

雷池社区版OPEN API使用教程

OPEN API使用教程 新版本接口支持API Token鉴权 接口文档官方没有提供&#xff0c;有需要可以自行爬取&#xff0c;爬了几个&#xff0c;其实也很方便 使用条件 需要使用默认的 admin 用户登录才可见此功能版本需要 > 6.6.0 使用方法 1.在系统管理创建API TOKEN 2.发…

REST APIs与微服务:关键差异

在构建基于微服务的应用程序时RESYful API和微服务这两个术语经常相伴出现。然而&#xff0c;它们指的是截然不同的东西。 了解 RESTful API 和微服务之间差异的最简单方式是这样&#xff1a; 微服务&#xff1a;它们是构成更大规模基于微服务的应用程序的单个服务和功能&…

《金融数据安全分级指南JR/T 0197-2020》解读与想法

#1024程序员节&#xff5c;征文# 一、文件框架与核心思考 1、定级目标再审视 自《金融数据安全 数据安全分级指南JR/T 0197-2020》&#xff08;以下简称“指南”&#xff09;发布以来&#xff0c;金融数据安全领域已历经四年的发展与变革。该指南作为金融标准中首个以“金融数…

Docker 基础入门

Docker 基础入门 前言 在云计算和微服务架构日益盛行的今天&#xff0c;软件开发与部署的效率和灵活性成为了企业竞争力的关键因素之一。Docker&#xff0c;作为一种开源的容器化平台&#xff0c;凭借其轻量级、可移植性和易于管理的特性&#xff0c;迅速成为现代软件开发和运…

[云] 大数据分析栈(Big Data Analytics Stack)+ Apache Hadoop分布式文件系统(HDFS)+Apache Spark

任务概述 本次作业旨在帮助你理解大数据分析栈&#xff08;Big Data Analytics Stack&#xff09;的工作原理&#xff0c;并通过实际操作加深认识。你将搭建Apache Hadoop分布式文件系统&#xff08;HDFS&#xff09;作为底层文件系统&#xff0c;并将Apache Spark作为执行引擎…

Linux第二讲:Linux权限理解

Linux第二讲&#xff1a;Linux权限理解 1.shell命令以及运行原理2.Linux权限2.1什么是权限2.2认识人 -- 用户、普通用户、root用户&#xff0c;以及用户之间的切换2.3文件属性2.4文件权限知识点补充2.4.1知识点一2.4.2知识点二2.4.3知识点三2.4.4知识点四 3.角色的修改4.关于权…

Puppeteer 与浏览器版本兼容性:自动化测试的最佳实践

Puppeteer 支持的浏览器版本映射&#xff1a;从 v20.0.0 到 v23.6.0 自 Puppeteer v20.0.0 起&#xff0c;这个强大的自动化库开始支持与 Chrome 浏览器的无头模式和有头模式共享相同代码路径&#xff0c;为自动化测试带来了更多便利。从 v23.0.0 开始&#xff0c;Puppeteer 进…

可私有化部署的集装箱箱号自动识别技术,提供API 接口

启智集装箱箱号自动识别技术特点&#xff1a; 集装箱箱号自动识别技术为通过手机、相机等拍摄集装箱号码后进行视频处理或图像的去燥、纠偏、二值化等分析后进行字符的识别&#xff0c;箱号识别具有以下特点&#xff1a; 1&#xff09;快速&#xff1a;自动实时识别&#xff0c…

行为设计模式 -责任链模式- JAVA

责任链设计模式 一 .简介二. 案例2.1 抽象处理者(Handler)角色2.2 具体处理者(ConcreteHandler)角色2.3 测试 三. 结论3.1 优缺点3.2 示例3.3 要点 前言 这是我在这个网站整理的笔记,有错误的地方请指出&#xff0c;关注我&#xff0c;接下来还会持续更新。 作者&#xff1a;神…

智能优化算法-狐狸优化算法(FOX)(附源码)

目录 1.内容介绍 2.部分代码 3.实验结果 4.内容获取 1.内容介绍 狐狸优化算法 (Fox Optimization Algorithm, FOX) 是一种基于群体智能的元启发式优化算法&#xff0c;它模拟了狐狸的捕食行为、社会互动和环境适应能力&#xff0c;用于解决复杂的优化问题。 FOX的工作机制主要…

MR20一体式远程IO模块:引领工业自动化的创新之选

在快速发展的工业自动化领域&#xff0c;高效、可靠且易于维护的IO模块成为了众多企业的首选。其中&#xff0c;MR20系列一体式远程IO模块凭借其卓越的性能和人性化的设计&#xff0c;在众多IO模块中脱颖而出&#xff0c;成为工业自动化领域的璀璨明星。 小巧体积&#xff0c;高…