在IDEA中使用maven项目总结

一  什么是maven

Maven本身也是Java写的,他是一款服务于Java平台的自动化构建工具

Maven是一个项目管理工具,旨在简化软件项目的构建、依赖管理和项目信息管理。它使用基于项目对象模型(Project Object Model,POM)的概念来管理项目的构建和依赖,并提供了一套规范的项目结构和标准的构建流程。

1 maven的作用

以下是 Maven 的主要作用:

1. 项目构建(Project Build): Maven 提供了一套标准的项目构建生命周期,通过定义清晰的构建阶段(如编译、测试、打包、部署等),开发人员能够简单明了地配置和管理项目的构建过程。通过 Maven,可以通过简单的命令完成项目的构建、测试和部署等操作。

2. 依赖管理(Dependency Management): Maven 提供了统一的依赖管理机制,可以轻松地管理项目所依赖的外部库和模块。通过在项目的配置文件(pom.xml)中声明依赖关系,Maven可以自动下载并导入所需的依赖项,并处理依赖冲突等问题。

3. 项目信息管理(Project Information Management): Maven 使用项目对象模型(POM)来管理项目的核心信息,包括项目组织结构、构建配置、发布信息等。通过良好的项目信息管理,可以在团队开发中更好地协作,并且有助于自动化构建和发布过程。

4. 标准化项目结构(Standard Project Structure): Maven 鼓励使用一种标准化的项目结构,这有助于开发者更容易地理解和维护项目代码,同时也方便项目的构建和管理工具进行自动化处理。

5. 插件生态系统(Plugin Ecosystem): Maven 的插件系统非常强大,可以通过插件来扩展 Maven 的功能,实现诸如代码质量检查、静态分析、文档生成等额外的任务,从而提高项目的质量和开发效率。

总之,Maven作为一种综合性的项目管理工具,可以帮助开发团队提高项目的可维护性,简化构建流程,并提供一种规范的方式来管理项目的依赖和构建过程。通过 Maven,开发团队可以更专注于项目开发本身,而不必花费过多精力在构建和配置管理上。

2 maven项目的结构

  pom文件定于了一个maven项目的maven配置,一般pom文件的放在项目或者模块的根目录下。

    maven的遵循约定大于配置,约定了如下的目录结构:

二 maven的xml文件中的结构

Maven项目的核心配置文件是pom.xml,这是一个XML格式的文件,其中包含了项目的配置信息、依赖管理、构建设置等。下面是一个详细介绍 Maven pom.xml 文件结构各个部分的概述:

1. 项目基本信息(Project Information):

  -project:整个pom配置文件的根元素,所有的配置都是写在project元素里面的;

   - groupId: 定义项目组织或者公司的唯一标识符。

   -modelVersion:指定了当前POM模型的版本,对于Maven2及Maven 3来说,它只能是4.0.0;

   - artifactId: 定义构建产物的唯一标识符,通常对应于生成的 JAR 文件名。
   - version: 定义项目的版本号。
   - packaging: 指定项目的打包方式,例如 jar、war、pom 等。
   - name: 项目的名称。
   - description: 对项目的简要描述。


2. 父项目和parent元素:

所有的pom都继承自一个父pom(Super POM)。父pom包含了一些可以被继承的默认设置,如果项目的pom中没有设置这些元素,就会使用父pom中设置。例如,Super POM中配置了默认仓库http://repo1.maven.org/maven2,这样哪怕项目的pom中没有配置仓库,也可以去这个默认仓库中去下载依赖。实际上,maven pom文件约定大于配置的原则,就是通过在Super POM中预定义了一些配置信息来实现的。

    Maven使用effective pom(Super pom加上工程自己的配置)来执行相关的目标,它帮助开发者在pom.xml中做尽可能少的配置。当然,这些配置也可以被重写。

    parent元素可以指定父pom。用户可以通过增加parent元素来自定义一个父pom,从而继承该pom的配置。parent元素中包含一些子元素,用来定位父项目和父项目的pom文件位置。

parent:用于指定父项目;
groupId:parent的子元素,父项目的groupId,用于定位父项目;
artifactId:parent的子元素,父项目的artifactId,用于定位父项目;
version:parent的子元素,父项目的version,用于定位父项目;
relativePath:parent的子元素,用于定位父项目pom文件的位置

3 项目构建需要的信息 

 (1) 路径管理

以上是 Maven pom.xml 文件中的一些常见结构及其说明,这些配置项可以帮助开发团队有效地管理项目依赖、构建过程、资源管理等方面。根据实际项目需求,可以灵活配置并使用这些结构来实现更高效的项目开发和构建管理。

 路径管理定义了各种源码和编译结果的输出路径。如果遵循maven默认的路径约定,这里的几个元素是不需要配置的。这些元素包括:

sourceDirectory:项目源码目录,定义的是相对于pom文件的相对路径;
testSourceDirectory:项目单元测试源码目录,定义的也是是相对于pom文件的相对路径;
outputDirectory:被编译过的应用程序class文件存放的目录,也是是相对于pom文件的相对路径;
testOutoutDIrectory:被编译过的测试class文件存放的目录,也是是相对于pom文件的相对路径;
scriptSourceDirectory:项目脚本源码目录,也是是相对于pom文件的相对路径。由于脚本是解释性的语言,所以该目录下的内容,会直接被拷贝到输出目录,而不需要编译。

(2)资源管理

这里的元素主要是对应用程序resource资源和单元测试部分resource资源的管理,分别通过resource标签和testResource标签管理两种资源。两个标签元素可选的子元素都是一样的。子元素包括:

  • targetPath:描述了资源的目标输出路径,该路径是相对于target/classes的路径;
  • filtering:对文件中的参数值进行过滤,需要被过滤的文件在filter中指定;
  • directory:描述打包前的资源的存放路径,这个路径是相对于pom文件所在目录的相对路径;
  • includes:包含的模式列表,例如**/*.xml。只有符合条件的资源文件才会在打包的时候被放入到输出路径中;
  • excludes:排除的模式列表,例如**/*.xml,符合的资源文件不会在打包的时候会被过滤

(3)插件管理 

 插件管理相关的元素有两个,包括pluginManagement和plugins。pluginManagement中有子元素plugins,它和project下的直接子元素plugins的区别是,pluginManagement主要是用来声明子项目可以引用的默认插件信息,这些插件如果只写在pluginManagement中是不会被引入的。project下的直接子元素plugins中定义的才是这个项目中真正需要被引入的插件

  (4)构建扩展

extensions是在此构建中使用的项目的列表,它们将被包含在运行构建的classpath中。这些项目可以启用对构建过程的扩展,并使活动的插件能够对构建生命周期进行更改。简而言之,扩展是在构建期间激活的artifacts。扩展不需要实际执行任何操作,也不包含 Mojo。因此,扩展对于指定普通插件接口的多个实现中的一个是非常好的。

(5) 其他配置

build中还有一些配置,如下:

4 项目依赖相关信息

 pom文件中通过dependencyManagement来声明依赖,通过dependencies元素来管理依赖。dependencyManagement下的子元素只有一个直接的子元素dependencice,其配置和dependencies子元素是完全一致的;而dependencies下只有一类直接的子元素:dependency。一个dependency子元素表示一个依赖项目。

<!--该元素描述了项目相关的所有依赖。 这些依赖自动从项目定义的仓库中下载 -->

这里也是根据元素的作用,简单的对dependency的子元素做了一下分类。下面按分类来看一下dependency的子元素:

1、依赖坐标
    依然是通过groupId + artifactId + version来在仓库中定位一个项目:

groupId:parent的子元素,父项目的groupId,用于定位父项目;
artifactId:parent的子元素,父项目的artifactId,用于定位父项目;
version:parent的子元素,父项目的version,用于定位父项目;
2、依赖类型
    这个分类主要包括两个元素,分别是依赖类型和依赖的分类器。同一个项目,即使打包成同一种类型,也可以有多个文件同时存在,因为它们的分类器可能是不同的。

type:依赖类型,默认是jar。通常表示依赖文件的扩展名,但也有例外。一个类型可以被映射成另外一个扩展名或分类器。类型经常和使用的打包方式对应,尽管这也有例外,一些类型的例子:jar,war,ejb-client和test-jar。如果设置extensions为true,就可以在plugin里定义新的类型。
classifier:依赖的分类器。分类器可以区分属于同一个POM,但不同构建方式的构件。分类器名被附加到文件名的版本号后面,如果想将项目构建成两个单独的JAR,分别使用Java 4和6编译器,就可以使用分类器来生成两个单独的JAR构件
3、依赖传递
    依赖传递相关的子元素主要有两个,用于依赖排除的exclusions和设置依赖是否可选的optional。

exclusions:排除该项目中的一些依赖,即本项目A依赖该dependency指示的项目B,但是不依赖项目B中依赖的这些依赖;
optional:可选依赖,用于阻断依赖的传递性,即本项目不会依赖父项目中optional设置为true的依赖。
4、依赖范围
    还有一些其他元素:

  • scope:依赖范围。在项目发布过程中,帮助决定哪些构件被包括进来

                - compile:默认范围,用于编译;   - provided:类似于编译,但支持jdk或者容器提供,类似于classpath 

                - runtime: 在执行时需要使用;         - systemPath: 仅用于范围为system,提供相应的路径 

                - test: 用于test任务时使用;             - system: 需要外在提供相应的元素,通过systemPath来取得 

                - optional: 当项目自身被依赖时,标注依赖是否传递。用于连续依赖时使用

  • systemPath:该元素为依赖规定了文件系统上的绝对路径。仅在scope设置成system时才会使用。不推荐使用这个元素。不推荐使用绝对路径,如果必须要用,推荐使用属性匹配绝对路径,例如${java.home}

5 生成文档相关的元素

 备注:maven可以通过mvn site命令生成项目的相关文档。

    和生成文档相关的元素,包括name,url,和description。

  • name:项目名称,maven生成文档会使用项目名;
  • url:项目主页的地址,maven生成文档的时候使用。
  • description:项目描述。如果可以使用HTML格式进行描述的时候,不推荐使用纯文本的描述。

6 远程仓库列表

 远程仓库列表的配置,包括依赖和扩展的远程仓库配置,以及插件的远程仓库配置。在本地仓库找不到的情况下,maven下载依赖、扩展和插件就是从这里配置的远程仓库中进行下载。

    需要注意的是release和snapshot两者的区别。release是稳定版本,一经发布不再修改,想发布修改后的项目,只能升级项目版本再进行发布;snapshot是不稳定的,一个snapshot的版本可以不断改变。项目在开发期间一般会使用snapshot,更方便进行频繁的代码更新;一旦发布到外部,或者开发基本完成,代码迭代不再频繁,则推荐使用release。

7项目分发信息相关元素

项目分发信息的相关配置,在distributionManagement中设置。设置的内容包括:

  • repository和snapshotRepository:项目产生的构建/快照构建部署的远程仓库。如果不配置snapshotRepository,快照也会部署到repository中;
  • site:部署项目的网站需要的信息;
  • downloadUrl:项目下载页面的URL,这是为不在仓库中的构建提供的;
  • relocation:如果构件有了新的group ID和artifact ID(移到了新的位置),这里列出构件的新的信息;
  • status:给出该构件在远程仓库的状态,本地项目中不能设置该元素,这是工具自动更新的。

8 报表规范

报表规范描述的是使用mvn site命令时使用的一些配置。

9 profile配置

    <!--在列的项目构建profile,如果被激活,会修改构建处理 -->
    <profiles>
        <!--根据环境参数或命令行参数激活某个构建处理 -->
        <profile>
            <!--构建配置的唯一标识符。即用于命令行激活,也用于在继承时合并具有相同标识符的profile。 -->
            <id />
            <!--自动触发profile的条件逻辑。Activation是profile的开启钥匙,profile的力量来自于它 -->
            <!-- 能够在某些特定的环境中自动使用某些特定的值;这些环境通过activation元素指定。activation元素并不是激活profile的唯一方式 -->
            <activation>
                <!--profile默认是否激活的标志 -->
                <activeByDefault />
                <!--当匹配的jdk被检测到,profile被激活。例如,1.4激活JDK1.4,1.4.0_2,而!1.4激活所有版本不是以1.4开头的JDK -->
                <jdk />
                <!--当匹配的操作系统属性被检测到,profile被激活。os元素可以定义一些操作系统相关的属性。 -->
                <os>
                    <!--激活profile的操作系统的名字 -->
                    <name>Windows XP</name>
                    <!--激活profile的操作系统所属家族(如 'windows') -->
                    <family>Windows</family>
                    <!--激活profile的操作系统体系结构 -->
                    <arch>x86</arch>
                    <!--激活profile的操作系统版本 -->
                    <version>5.1.2600</version>
                </os>
                <!--如果Maven检测到某一个属性(其值可以在POM中通过${名称}引用),其拥有对应的名称和值,Profile就会被激活 -->
                <!--如果值字段是空的,那么存在属性名称字段就会激活profile,否则按区分大小写方式匹配属性值字段 -->
                <property>
                    <!--激活profile的属性的名称 -->
                    <name>mavenVersion</name>
                    <!--激活profile的属性的值 -->
                    <value>2.0.3</value>
                </property>
                <!--提供一个文件名,通过检测该文件的存在或不存在来激活profile。missing检查文件是否存在,如果不存在则激活profile -->
                <!--另一方面,exists则会检查文件是否存在,如果存在则激活profile -->
                <file>
                    <!--如果指定的文件存在,则激活profile。 -->
                    <exists>/usr/local/abcd/abcd-home/jobs/maven-guide-zh-to-production/workspace/
                    </exists>
                    <!--如果指定的文件不存在,则激活profile。 -->
                    <missing>/usr/local/abcd/abcd-home/jobs/maven-guide-zh-to-production/workspace/
                    </missing>
                </file>
            </activation>
 
            <!--构建项目所需要的信息。参见build元素 -->
            <build />
            <!--发现依赖和扩展的远程仓库列表。详情参见repositories元素 -->
            <repositories />
            <!--发现插件的远程仓库列表,这些插件用于构建和报表。详情参见pluginRepositories元素 -->
            <pluginRepositories />
            <!--该元素描述了项目相关的所有依赖。 详细配置参见dependencies -->
            <dependencies />
            <!--该元素包括使用报表插件产生报表的规范。当用户执行"mvn site",这些报表就会运行。在页面导航栏能看到所有报表的链接。参见reporting元素 -->
            <reporting />
            <!--参见dependencyManagement元素 -->
            <dependencyManagement />
            <!--参见distributionManagement元素 -->
            <distributionManagement />
 
            <!--不赞成使用. 现在Maven忽略该元素. -->
            <reports />
            <!--模块(有时称作子项目) 被构建成项目的一部分。列出的每个模块元素是指向该模块的目录的相对路径 -->
            <modules />
            <!--参见properties元素 -->
            <properties />
        </profile>
    </profiles>

10 邮件列表和持续集成配置

    <!--项目持续集成信息 -->
    <ciManagement>
        <!--持续集成系统的名字,例如continuum -->
        <system />
        <!--该项目使用的持续集成系统的URL(如果持续集成系统有web接口的话)。 -->
        <url />
        <!--构建完成时,需要通知的开发者/用户的配置项。包括被通知者信息和通知条件(错误,失败,成功,警告) -->
        <notifiers>
            <!--配置一种方式,当构建中断时,以该方式通知用户/开发者 -->
            <notifier>
                <!--传送通知的途径 -->
                <type />
                <!--发生错误时是否通知 -->
                <sendOnError />
                <!--构建失败时是否通知 -->
                <sendOnFailure />
                <!--构建成功时是否通知 -->
                <sendOnSuccess />
                <!--发生警告时是否通知 -->
                <sendOnWarning />
                <!--不赞成使用。通知发送到哪里 -->
                <address />
                <!--扩展配置项 -->
                <configuration />
            </notifier>
        </notifiers>
    </ciManagement>
 
    <!--项目相关邮件列表信息 -->
    <mailingLists>
        <!--该元素描述了项目相关的所有邮件列表。自动产生的网站引用这些信息。 -->
        <mailingList>
            <!--邮件的名称 -->
            <name>Demo</name>
            <!--发送邮件的地址或链接,如果是邮件地址,创建文档时,mailto: 链接会被自动创建 -->
            <post>nanxs@123.com</post>
            <!--订阅邮件的地址或链接,如果是邮件地址,创建文档时,mailto: 链接会被自动创建 -->
            <subscribe>nanxs@123.com</subscribe>
            <!--取消订阅邮件的地址或链接,如果是邮件地址,创建文档时,mailto: 链接会被自动创建 -->
            <unsubscribe>nanxs@123.com</unsubscribe>
            <!--你可以浏览邮件信息的URL -->
            <archive>http:/a.b.c/nanxs/demo/dev/</archive>
        </mailingList>
    </mailingLists>

11 项目的描述性信息

    <!--项目的问题管理系统(Bugzilla, Jira, Scarab,或任何你喜欢的问题管理系统)的名称和URL -->
    <issueManagement>
        <!--问题管理系统(例如jira)的名字, -->
        <system>jira</system>
        <!--该项目使用的问题管理系统的URL -->
        <url>http://jira.baidu.com/nanxs</url>
    </issueManagement>
 
    <!--项目创建年份,4位数字。当产生版权信息时需要使用这个值。 -->
    <inceptionYear />
 
    <!--项目开发者列表 -->
    <developers>
        <!--某个项目开发者的信息 -->
        <developer>
            <!--SCM里项目开发者的唯一标识符 -->
            <id>HELLO WORLD</id>
            <!--项目开发者的全名 -->
            <name>nanxs</name>
            <!--项目开发者的email -->
            <email>123@abc.com</email>
            <!--项目开发者的主页的URL -->
            <url />
            <!--项目开发者在项目中扮演的角色,角色元素描述了各种角色 -->
            <roles>
                <role>Project Manager</role>
                <role>Architect</role>
            </roles>
            <!--项目开发者所属组织 -->
            <organization>demo</organization>
            <!--项目开发者所属组织的URL -->
            <organizationUrl>http://a.b.com/nanxs</organizationUrl>
            <!--项目开发者属性,如即时消息如何处理等 -->
            <properties>
                <dept>No</dept>
            </properties>
            <!--项目开发者所在时区, -11到12范围内的整数。 -->
            <timezone>-5</timezone>
        </developer>
    </developers>
 
    <!--项目的其他贡献者列表 -->
    <contributors>
        <!--项目的其他贡献者。参见developers/developer元素 -->
        <contributor>
            <name />
            <email />
            <url />
            <organization />
            <organizationUrl />
            <roles />
            <timezone />
            <properties />
        </contributor>
    </contributors>
 
    <!--该元素描述了项目所有License列表。 应该只列出该项目的license列表,不要列出依赖项目的license列表 -->
    <!--如果列出多个license,用户可以选择它们中的一个而不是接受所有license -->
    <licenses>
        <!--描述了项目的license,用于生成项目的web站点的license页面,其他一些报表和validation也会用到该元素。 -->
        <license>
            <!--license用于法律上的名称 -->
            <name>Apache 2</name>
            <!--官方的license正文页面的URL -->
            <url>http://a.b.com/nanxs/LICENSE-1.0.txt</url>
            <!--项目分发的主要方式: repo,可以从Maven库下载 manual, 用户必须手动下载和安装依赖 -->
            <distribution>repo</distribution>
            <!--关于license的补充信息 -->
            <comments>A business-friendly OSS license</comments>
        </license>
    </licenses>
 
    <!--SCM(Source Control Management)标签允许你配置你的代码库,供Maven web站点和其它插件使用。 -->
    <scm>
        <!--SCM的URL,该URL描述了版本库和如何连接到版本库。该连接只读 -->
        <connection>scm:svn:http://a.b.com/nanxs</connection>
        <!--给开发者使用的,类似connection元素。即该连接不仅仅只读 -->
        <developerConnection>scm:svn:http://a.b.com/nanxs</developerConnection>
        <!--当前代码的标签,在开发阶段默认为HEAD -->
        <tag />
        <!--指向项目的可浏览SCM库(例如ViewVC或者Fisheye)的URL。 -->
        <url>http://a.b.com/nanxs</url>
    </scm>
 
    <!--描述项目所属组织的各种属性。Maven产生的文档用 -->
    <organization>
        <!--组织的全名 -->
        <name>demo</name>
        <!--组织主页的URL -->
        <url>http://a.b.com/nanxs</url>
    </organization>

12 其他配置

参考文档

【精选】maven之pom文件详解_maven pom文件详解_凌晨的路灯的博客-CSDN博客

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

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

相关文章

excel表的筛选后自动求和

一般都使用subtotal函数。 通过看一个大佬的视频&#xff0c;发现可以有更简单的方法。 首先任意筛选数据(ctrlshiftl)&#xff0c; 然后选中需要求和的列的最下方的空白单元格&#xff0c;再按alt。 回车即可。 实质它还是用的subtotal函数

拍摄视频的时候相机断电导致视频文件损坏,怎么修复

3-4 现在好多人都有自己的相机&#xff0c;但是专业用来录像的机器应该是不太可能都有的&#xff0c;相机的稳定性会比专业的机器差一些&#xff0c;如果用于比较重要的场景&#xff0c;比如婚庆、会议录像、家庭录像使用等&#xff0c;有较少的概率会出现一些奇怪的情况&…

Windows conan环境搭建

Windows conan环境搭建 1 安装conan1.1 安装依赖软件1.1.1 python安装1.1.2 git bash安装1.1.3 安装Visual Studio Community 20191.1.3.1 选择安装的组件1.1.3.2 选择要支持的工具以及对应的SDK 1.1.4 vscode安装 1.3 验证conan功能1.4 查看conancenter是否包含poco包1.5 查看…

Delphi TCP服务端监听端口获取客户端RFID网络读卡器上传的刷卡数据

本示例使用设备介绍&#xff1a;液显WIFI无线网络HTTP协议RFID云读卡器可编程实时可控开关TTS语-淘宝网 (taobao.com) unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, ComCtrls, ScktComp, StdCtrls, ScktComp…

图像相似度对比方法

1.哈希方法&#xff0c;其中包括均值哈希、插值哈希、感知哈希方法。计算出图片的哈希值&#xff0c;一般使用汉明 距离计算两个图片间的差距。 2.直方图算法&#xff0c;其中包括灰度直方图算法&#xff0c;RGB直方图算法&#xff0c; 3.灰度图算法&#xff1a;MSE、SSIM、…

基于SpringBoot+Vue的宿舍管理系统

基于SpringBootVue的学生宿舍管理系统的设计与实现~ 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBootMyBatisVue工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 主页 宿舍公告 登录界面 管理员界面 维修人员 商家界面 学生界面 摘要 摘…

笔试题之指针和数组的精讲

&#x1d649;&#x1d65e;&#x1d658;&#x1d65a;!!&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦ &#x1f44f;&#x1f3fb;‧✧̣̥̇:Solitary-walk ⸝⋆ ━━━┓ - 个性标签 - &#xff1a;来于“云”的“羽球人”。…

数据分类分级方法及典型应用场景

1 2021-09-29 来源&#xff1a;数据学堂 [打印本稿][字号 大 中小] 《数据安全法》的第二十一条明确规定了由国家建立数据分类分级保护制度&#xff0c;根据数据在经济社会发展中的重要程度&#xff0c;以及一旦遭到篡改、破坏、泄露或者非法获取、非法利用&#xff0c;对国…

Unity中【UniTask异步流程】如何进行【步骤分段】、【步骤撤销】、【步骤跳转】、【取消异步任务】

一、UniTask和Task UniTask是Unity中的Task实现&#xff0c;Task是C#中实现异步操作的一个模块(类)。UniTask与Task有着同样的使用思路&#xff08;使用习惯&#xff0c;常用API等&#xff09;&#xff0c;可以说UniTask是借鉴Task而开发出来的。 二、需求的来源 以前有一个…

Nacos 身份认证绕过漏洞(已修复)

Nacos存在权限绕过漏洞&#xff0c;攻击者利用该漏洞可以未授权访问用户列表&#xff08;我的Nacos版本为1.2.1&#xff09; 漏洞复现&#xff1a;http://127.0.0.1:8849/nacos/v1/auth/users?pageNo1&pageSize9 利用漏洞复现问题http://127.0.0.1:8849/nacos/v1/auth/us…

No205.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

JAVA基础9:Debug

1.Debug概述 Debug:是供程序员使用的程序调试工具&#xff0c;它可以用于查看程序的执行流程&#xff0c;也可以用于追踪程序执行过程来调试程序。 2.Debug操作流程 Debug调试&#xff0c;又被称为断点调试&#xff0c;断点其实是一个标记&#xff0c;告诉我们从哪里开始查看…

【电源专题】低功耗设备如何解决POE协议要求的PD最小功耗?

要让PD正常工作起来除了需要与PSE握手协商外,还要求PD有一个最小功耗输出。 其原因是如果PD没有在一定时间内给出一个最小功耗,那么PSE将会认为PD设备断开而自动关闭,将功率分配给其他网口。对于不同的类别PD,其要求也不一样。如下所示为Type 1/2/2/4最小电流的要求:如类…

Android—幸运抽奖火箭发射倒计时(第六次作业)

Android—幸运抽奖&&点火发射&#xff08;第六次作业&#xff09; 创建项目 准备工作 修改按钮的颜色&#xff0c;如果不修改这行代码&#xff0c;那么后期给按钮添加background属性的时候&#xff0c;按钮并不会发生变化。 设置按钮的样式文件btn_press_blue.xml&am…

计算机网络课后作业2023秋

计算机网络第三版吴功宜版 课后作业 第一章作业三、计算与问答3.73.8 第二章作业三、计算与问答3.23.53.6 第三章作业三、计算与问答3.13.53.73.8 第四章作业三、计算与问答3.13.2 第五章作业三、计算与问答3.13.33.4VLAN交换机模式模式切换重置交换机VLA&#xff2e;配置命令其…

基础大模型的结构特性与发展

摘要&#xff1a; 基础大模型的结构特性是什么给予的&#xff1f;在建模部分&#xff0c;我们将探索基础模型背后的底层架构&#xff0c;并确定5个关键属性。 首先&#xff0c;我们从讨论计算模型的表现力开始-捕获和吸收真实世界的信息&#xff0c;以及可扩展性-熟练地处理大量…

NFS文件系统共享服务器实战

架设一台NFS服务器&#xff0c;并按照以下要求配置 准备 两台Linux虚拟机一台作为服务端server&#xff0c;一台作为客户端client server IPV4&#xff1a;192.168.110.136/24 client IPV4&#xff1a;192.168.110.134/24 两台服务器都需要关闭防火墙和seLinux 服…

Clickhouse学习笔记(13)—— Materialize MySQL引擎

该引擎用于监听 binlog 事件&#xff0c;类似于canal、Maxwell等组件 ClickHouse 20.8.2.3 版本新增加了 MaterializeMySQL 的 database 引擎&#xff0c;该 database 能映射到 MySQL中的某个database &#xff0c;并自动在ClickHouse中创建对应ReplacingMergeTree。 ClickHous…

k8s 1.28.3 使用containerd

文章目录 环境说明最终结果环境配置时钟同步 主机名称配置主机名解析关闭swap安装ipvs 安装containerd安装containerd生成配置修改配置开启containerd服务 安装runc安装k8s安装kubelet kubeadm kubectl获取kubernetes 1.28组件容器镜像 拉取镜像初始化集群方法一&#xff08;不…

postman上传照片,视频,音频等上传文件操作测试方法

Postman上传照片&#xff0c;视频&#xff0c;音频等上传文件操作测试方法 新建一个request&#xff0c;更改请求方式&#xff0c;点击Body 勾选form-data ,key后面下拉框选择File 上一步勾选后Value即出现选择本地文件按钮&#xff0c;填写Key&#xff0c;选择文件即可 此时…