当前位置: 首页 > news >正文

Maven pom.xml文件中build,plugin标签的具体使用

<build> 标签
`<build>` 标签是 `pom.xml` 文件中一个重要的标签,用于配置 Maven 项目的构建过程。在 `<build>` 标签下,可以配置构建相关的设置,包括源代码目录、输出目录、插件配置等。
以下是 `<build>` 标签的详细使用方法和适用场景:
 

<build><!-- 配置项目的源代码目录,默认为 "src/main/java" --><sourceDirectory>src/main/java</sourceDirectory><!-- 配置项目的测试代码目录,默认为 "src/test/java" --><testSourceDirectory>src/test/java</testSourceDirectory><!-- 配置项目的资源文件目录,默认为 "src/main/resources" --><resources><resource><directory>src/main/resources</directory></resource></resources><!-- 配置项目的测试资源文件目录,默认为 "src/test/resources" --><testResources><testResource><directory>src/test/resources</directory></testResource></testResources><!-- 配置项目的输出目录,默认为 "target/classes" --><outputDirectory>target/classes</outputDirectory><!-- 配置项目的测试输出目录,默认为 "target/test-classes" --><testOutputDirectory>target/test-classes</testOutputDirectory><!-- 配置项目的插件列表,用于自定义项目构建过程 --><plugins><plugin><!-- 插件的坐标信息 --><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><!-- 插件的配置信息 --><configuration><!-- 配置插件的参数 --><source>1.8</source><target>1.8</target></configuration></plugin><!-- 可以声明其他插件 --></plugins><!-- 其他构建相关的配置 -->
</build>

适用场景:

1. 指定源代码和测试代码目录:
   使用 `<sourceDirectory>` 和 `<testSourceDirectory>` 标签可以自定义项目的源代码和测试代码目录。如果项目结构不同于默认的目录结构(如多模块项目等),则可以使用这些配置指定实际的代码目录。

2. 配置资源文件目录:
   通过 `<resources>` 和 `<testResources>` 标签,可以指定项目的资源文件目录和测试资源文件目录。资源文件通常包含配置文件、属性文件、模板等,可以根据需要调整资源文件的位置。

3. 配置输出目录:
   使用 `<outputDirectory>` 和 `<testOutputDirectory>` 标签可以配置项目的输出目录和测试输出目录。编译后的类文件和测试类文件会被输出到这些目录中。

4. 自定义构建过程:
   `<plugins>` 标签用于配置项目使用的 Maven 插件,通过自定义插件的目标和参数,可以实现更复杂的构建过程,例如代码生成、压缩、静态分析等。

5. 使用其他构建相关的配置:
   在 `<build>` 标签内还可以使用其他构建相关的配置,例如使用 `<extensions>` 标签声明项目构建时要使用的 Maven 扩展,或使用 `<defaultGoal>` 标签指定默认的构建目标等。

总结:`<build>` 标签用于配置 Maven 项目的构建过程,包括源代码目录、输出目录、资源文件目录、插件列表等。通过在此标签下进行配置,可以根据项目的需求自定义构建过程,从而实现更灵活、高效的项目构建。


Maven 插件(Plugins)是用于扩展和定制 Maven 构建过程的工具。Maven 插件可以帮助执行各种任务,如编译代码、运行测试、打包项目、部署应用程序等。在 `pom.xml` 文件中,通过 `<plugins>` 和 `<plugin>` 标签来配置 Maven 插件。

以下是 Maven 插件的详细使用方法:

1. 声明插件依赖:
   在 `<build>` 标签内,通常有一个 `<plugins>` 标签,用于声明要使用的插件。在 `<plugins>` 标签下,每个插件都由一个 `<plugin>` 子标签来定义,可以包含以下信息:

   - `groupId`:插件的 Group ID,通常是 `org.apache.maven.plugins`。
   - `artifactId`:插件的 Artifact ID,标识特定的插件。
   - `version`:插件的版本号。

   示例:

   <build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version></plugin><!-- 可以声明其他插件 --></plugins></build>


2. 配置插件目标(Goal):
   Maven 插件的功能通过目标(Goal)来实现,一个插件可以有多个目标。目标是插件的执行单元,通过在插件配置中指定目标,可以按需执行插件的不同功能。

   示例:

   <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><configuration><source>1.8</source><target>1.8</target></configuration></plugin>

   在上面的示例中,`maven-compiler-plugin` 插件的目标是编译 Java 代码。`<configuration>` 子标签用于配置插件的目标,指定 Java 编译的源代码版本和目标版本。

3. 自定义插件配置:
   大多数 Maven 插件支持自定义配置,可以通过在 `<configuration>` 子标签内指定参数来实现。插件的具体配置取决于插件本身的功能和支持的配置选项。

   示例:

   <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-jar-plugin</artifactId><version>3.2.0</version><configuration><archive><manifest><addClasspath>true</addClasspath><classpathPrefix>lib/</classpathPrefix></manifest></archive></configuration></plugin>

   在上面的示例中,`maven-jar-plugin` 插件用于创建 JAR 文件,并通过自定义配置将依赖库打包到 JAR 中。

4. 执行插件目标:
   通过在命令行中输入 `mvn` 命令,加上插件的目标名称,来执行插件功能。例如,要执行 `maven-compiler-plugin` 的 `compile` 目标(编译代码),可以使用以下命令:

mvn compile

   这将触发 Maven 编译插件,编译项目的源代码。

5. 生命周期绑定:
   Maven 插件通常与构建的生命周期绑定,这意味着某些插件目标会在特定的构建阶段自动执行。例如,`maven-compiler-plugin` 插件的 `compile` 目标与 Maven 构建的 `compile` 阶段绑定,因此在执行 `mvn compile` 命令时,编译代码的目标会自动执行。

总结:Maven 插件通过在 `pom.xml` 文件中声明和配置插件,然后使用命令行执行插件目标来实现项目的构建和其他定制化操作。插件是 Maven 构建的关键组成部分,它们为开发人员提供了丰富的功能,帮助自动化构建过程和其他开发任务。

Maven 中有很多插件可以用于不同的构建任务和工作流程。在此,我列举一些常见的 Maven 插件以及它们的使用场景,并提供简单的使用案例和注释。

1. `maven-compiler-plugin` 插件
   - 使用场景:编译项目的 Java 源代码。
   - 使用案例:

     <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><configuration><source>1.8</source><target>1.8</target></configuration></plugin>

     
     注释:上面的配置指定使用 Java 8 编译源代码,并将生成的字节码与目标版本设置为 Java 8。

2. `maven-jar-plugin` 插件
   - 使用场景:创建 JAR 文件。
   - 使用案例:

     <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-jar-plugin</artifactId><version>3.2.0</version><configuration><archive><manifest><addClasspath>true</addClasspath><classpathPrefix>lib/</classpathPrefix></manifest></archive></configuration></plugin>

     注释:上面的配置在 JAR 的 MANIFEST.MF 文件中添加类路径信息,并将依赖库放置在 JAR 内的 "lib/" 目录下。

3. `maven-surefire-plugin` 插件
   - 使用场景:运行项目的单元测试。
   - 使用案例:

     <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>3.0.0-M5</version><configuration><includes><include>**/*Test.java</include></includes></configuration></plugin>

     注释:上面的配置指定运行所有以 "Test.java" 结尾的单元测试类。

4. `maven-assembly-plugin` 插件
   - 使用场景:创建自定义的分发包,如包含所有依赖的可执行 JAR 文件。
   - 使用案例:

     <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-assembly-plugin</artifactId><version>3.3.0</version><configuration><descriptorRefs><descriptorRef>jar-with-dependencies</descriptorRef></descriptorRefs></configuration></plugin>

     注释:上面的配置创建一个包含所有依赖的可执行 JAR 文件。

5. `maven-clean-plugin` 插件
   - 使用场景:清理项目构建产生的临时文件和目录。
   - 使用案例:

     <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-clean-plugin</artifactId><version>3.1.0</version></plugin>

     注释:上面的配置可以使用 `mvn clean` 命令清理项目构建产生的临时文件和目录。

6. `maven-install-plugin` 插件
   - 使用场景:将项目安装到本地 Maven 仓库。
   - 使用案例:

     <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-install-plugin</artifactId><version>3.0.0-M1</version></plugin>

     注释:上面的配置可以使用 `mvn install` 命令将项目安装到本地 Maven 仓库。


7. `maven-deploy-plugin` 插件
   - 使用场景:将项目构建结果部署到远程 Maven 仓库,通常是私有或公共的远程仓库。
   - 使用案例:

     <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-deploy-plugin</artifactId><version>3.0.0-M1</version></plugin>

     注释:上面的配置用于部署构建结果到远程 Maven 仓库,通常与 `mvn deploy` 命令一起使用。

8. `maven-shade-plugin` 插件
   - 使用场景:创建一个包含所有依赖的可执行 JAR 文件,并且可以排除冲突的依赖。
   - 使用案例:

     <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-shade-plugin</artifactId><version>3.2.4</version><configuration><!-- 配置排除依赖 --><filters><filter><artifact>*:*</artifact><excludes><exclude>META-INF/*.SF</exclude><exclude>META-INF/*.DSA</exclude><exclude>META-INF/*.RSA</exclude></excludes></filter></filters></configuration></plugin>

     注释:上面的配置创建一个包含所有依赖的可执行 JAR 文件,并且排除了一些冲突的依赖。

9. `maven-site-plugin` 插件
   - 使用场景:生成项目站点文档,包括项目信息、依赖、测试报告等。
   - 使用案例:

     <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-site-plugin</artifactId><version>3.12.1</version></plugin>

     注释:上面的配置用于生成项目站点文档,可以使用 `mvn site` 命令来执行。

10. `maven-checkstyle-plugin` 插件
    - 使用场景:对项目代码进行静态代码分析,以检查是否符合编码规范。
    - 使用案例:

      <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-checkstyle-plugin</artifactId><version>3.1.2</version><configuration><!-- 配置 Checkstyle 的规则 --><configLocation>checkstyle.xml</configLocation></configuration><executions><!-- 在验证阶段执行 Checkstyle 检查 --><execution><id>validate</id><phase>validate</phase><goals><goal>check</goal></goals></execution></executions></plugin>

      注释:上面的配置用于在验证阶段执行 Checkstyle 检查,可以自定义 Checkstyle 的规则文件。

11. `maven-release-plugin` 插件
    - 使用场景:发布项目的正式版本,包括打标签、升级版本号等。
    - 使用案例:

      <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-release-plugin</artifactId><version>3.0.0-M1</version><configuration><!-- 配置发布版本的相关信息 --></configuration></plugin>

      注释:上面的配置用于配置发布版本的相关信息,可以使用 `mvn release:prepare` 和 `mvn release:perform` 命令来执行版本发布流程。

12. `maven-assembly-plugin` 插件
    - 使用场景:创建自定义的分发包,可以包含项目的可执行 JAR 文件和其他资源文件。
    - 使用案例:

      <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-assembly-plugin</artifactId><version>3.3.0</version><configuration><!-- 配置分发包的描述 --><descriptor>assembly.xml</descriptor></configuration><executions><execution><!-- 在打包阶段执行创建分发包 --><id>make-assembly</id><phase>package</phase><goals><goal>single</goal></goals></execution></executions></plugin>

      注释:上面的配置用于在打包阶段执行创建自定义的分发包,可以通过 `assembly.xml` 文件来定义分发包的内容和结构。


13. `maven-javadoc-plugin` 插件
   - 使用场景:生成项目的 Javadoc 文档,用于描述代码的接口和注释。
   - 使用案例:

     <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-javadoc-plugin</artifactId><version>3.3.0</version><configuration><!-- 配置生成 Javadoc 的相关设置 --></configuration></plugin>

     注释:上面的配置用于配置生成 Javadoc 的相关设置,可以使用 `mvn javadoc:javadoc` 命令来执行生成 Javadoc 文档。

14. `maven-antrun-plugin` 插件
   - 使用场景:在 Maven 构建过程中执行 Ant 任务,可以用于执行自定义的构建任务。
   - 使用案例:

     <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-antrun-plugin</artifactId><version>3.0.0</version><executions><execution><id>custom-task</id><phase>compile</phase><configuration><!-- 配置执行的 Ant 任务 --><target><echo message="Executing custom task..."/></target></configuration><goals><goal>run</goal></goals></execution></executions></plugin>

     注释:上面的配置用于在编译阶段执行自定义的 Ant 任务,这里简单地输出一条消息。

15. `maven-resources-plugin` 插件
   - 使用场景:处理项目的资源文件,例如复制、过滤、替换等操作。
   - 使用案例:

     <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId><version>3.2.0</version><configuration><!-- 配置资源文件的处理规则 --><resources><resource><directory>src/main/resources</directory><filtering>true</filtering></resource></resources></configuration></plugin>

     注释:上面的配置用于将 `src/main/resources` 目录下的资源文件进行过滤,替换其中的属性占位符等。

16. `maven-enforcer-plugin` 插件
   - 使用场景:强制执行特定的构建规则,例如强制使用特定的 Java 版本。
   - 使用案例:

     <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-enforcer-plugin</artifactId><version>3.0.0-M3</version><executions><execution><id>enforce-java-version</id><goals><goal>enforce</goal></goals><configuration><!-- 配置强制的规则 --><rules><requireJavaVersion><version>1.8</version></requireJavaVersion></rules></configuration></execution></executions></plugin>

     注释:上面的配置用于强制要求使用 Java 8 版本。

17. `maven-war-plugin` 插件
   - 使用场景:将项目打包为 WAR 文件,用于部署到 Servlet 容器(如 Tomcat、Jetty 等)。
   - 使用案例:

     <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><version>3.3.1</version><configuration><!-- 配置 WAR 文件的属性 --></configuration></plugin>

     注释:上面的配置用于配置 WAR 文件的属性,例如 Web 资源目录、Web 应用清单文件等。

这些是更多常见的 Maven 插件及其使用场景、使用案例和注释。Maven 提供了众多功能强大的插件,可以满足各种构建和项目管理需求。开发人员可以根据项目的特点和要求,选择合适的插件,并灵活配置以提高项目开发和构建的效率。

相关文章:

Maven pom.xml文件中build,plugin标签的具体使用

<build> 标签 <build> 标签是 pom.xml 文件中一个重要的标签&#xff0c;用于配置 Maven 项目的构建过程。在 <build> 标签下&#xff0c;可以配置构建相关的设置&#xff0c;包括源代码目录、输出目录、插件配置等。 以下是 <build> 标签的详细使用方…...

批量插入数据、MVC三层分离

八、批量插入数据 1、使用Statement&#xff08;&#xff09; 2、使用PreparedStatement() 3、使用批量操作API 4、优化 九、MVC三层分离...

【IMX6ULL驱动开发学习】21.Linux驱动之PWM子系统(以SG90舵机为例)

1.设备树部分 首先在 imx6ull.dtsi 文件中已经帮我们定义好了一些pwm的设备树节点&#xff0c;这里以pwm2为例 pwm2: pwm02084000 {compatible "fsl,imx6ul-pwm", "fsl,imx27-pwm";reg <0x02084000 0x4000>;interrupts <GIC_SPI 84 IRQ_TYP…...

el-cascader级联选择器加载远程数据、默认开始加载固定条、可以根据搜索加载远程数据。

加载用户列表分页请求、默认请求20条数据。想添加远程搜索用户功能。原有的方法filter-method不能监听到输入清空数据的时候。这样搜索完无法返回默认的20条数据。直接监听级联选择的v-model绑定的值是无法检测到用户自己输入的。 解决思路&#xff1a; el-cascader 没有提供…...

大数据技术之Clickhouse---入门篇---SQL操作、副本

星光下的赶路人star的个人主页 积一勺以成江河&#xff0c;累微尘以崇峻极 文章目录 1、SQL操作1.1 Insert1.2 Update 和 Delete1.3 查询操作1.4 alter操作1.5 导出数据 2、副本2.1 副本写入流程2.2 配置步骤 1、SQL操作 基本上来说传统关系型数据库&#xff08;以 MySQL 为例…...

【Rust 基础篇】Rust Sized Trait:理解Sized Trait与动态大小类型

导言 Rust是一门以安全性和性能著称的系统级编程语言。在Rust中&#xff0c;类型大小的确定在编译期是非常重要的。然而&#xff0c;有些类型的大小在编译期是无法确定的&#xff0c;这就涉及到了Rust中的动态大小类型&#xff08;DST&#xff09;。为了保证在编译期可以确定类…...

前端框架学习-Vue(三)

目录 初识VueVue模板语法数据绑定el和data的两种写法事件的基本使用$emit在子组件中定义方法&#xff0c;执行父组件的方法 Vue中的事件修饰符&#xff1a;键盘事件计算属性监视属性条件渲染列表渲染表单数据收集过滤器 笔记内容来自&#xff1a;尚硅谷Vue2.0Vue3.0全套教程丨v…...

HTML <rt> 标签

实例 一个 ruby 注释&#xff1a; <ruby> 漢 <rt> ㄏㄢˋ </rt> </ruby>浏览器支持 元素ChromeIEFirefoxSafariOpera<rt>5.05.538.05.015.0 Internet Explorer 9, Firefox, Opera, Chrome 以及 Safari 支持 <rt> 标签。 注释&#xf…...

VMware Linux Centos 配置网络并设置为静态ip

在root用户下进行以下操作 1. 查看子网ip和网关 &#xff08;1&#xff09;进入虚拟网络编辑器 &#xff08;2&#xff09;进入NAT设置 &#xff08;3&#xff09;记录子网IP和子网掩码 2. 修改网络配置文件 &#xff08;1&#xff09;cd到网络配置文件路径下 [rootlo…...

【Leetcode 30天Pandas挑战】学习记录

这个系列难度比较低&#xff0c;一题写一篇其实没必要&#xff0c;就全部放到一篇吧 题目列表&#xff1a; 595. Big Countries1757. Recyclable and Low Fat Products 595. Big Countries 原题链接&#xff1a;595. Big Countries Table: World ---------------------- | C…...

微信小程序使用 canvas 2d 实现签字板组件

本文是在微信小程序中使用 canvas 2d 来实现签字板功能&#xff1b; 效果图&#xff1a; 代码&#xff1a; 1、wxml <view><canvas id"canvas"type"2d"bindtouchstart"start"bindtouchmove"move"bindtouchend"end&qu…...

区块链赋能新时代司法体系,中移链打造可信存证服务

近期&#xff0c;某百万级粉丝网红的法律维权之路引发社会关注。其在面对网络造谣行为时积极搜集证据&#xff0c;使用区块链技术将相关信息上链保全&#xff0c;然后将造谣者全部起诉&#xff0c;一系列操作被广大网友喻为是教科书式网络维权。 科技在发展&#xff0c;时代在…...

ELK报错no handler found for uri and method [PUT] 原因

执行后提示no handler found for uri and method post&#xff0c;最新版8.2的问题&#xff1f; 原因&#xff1a; index.mapping.single_type: true在索引上 设置将启用按索引的单一类型行为&#xff0c;该行为将在6.0后强制执行。 原 {type} 要改为 _doc&#xff0c;格式如…...

Sublime操作技巧笔记

同时选中2个文件&#xff1a;自动切换成左右2个界面 格式化代码ctrlshifth&#xff1a; 使用快捷键ctrl shift p调出控制台&#xff0c;输入install package&#xff0c;然后输入html-css-js prettify&#xff0c;进行下载。具体的快捷键在preference > package setting &g…...

JVM | 基于类加载的一次完全实践

引言 我在上篇文章&#xff1a;JVM | 类加载是怎么工作的 中为你介绍了Java的类加载器及其工作原理。我们简单回顾下&#xff1a;我用一个易于理解的类比带你逐步理解了类加载的流程和主要角色&#xff1a;引导类加载器&#xff0c;扩展类加载器和应用类加载器。并带你深入了解…...

Termux实现电脑端远程操作【开启SSH的完整教程】

文章目录 前言一、安装软件1、安装2、启动服务3、特别说明4、添加key二、电脑端连接1、查看ip2、电脑端连接总结前言 上篇文章【安卓手机变身Linux服务器】讲了如何将你的上古安卓手机变废为宝,这节着重为大家解决一个痛点:“手机上操作实在是不方便”。 一、安装软件 1、安…...

java(Collection类)

文章目录 Collection接口继承树Collection接口及方法判断删除其它 Iterator(迭代器)接口迭代器的执行原理 foreach循环Collection子接口1&#xff1a;ListList接口特点List接口方法List接口主要实现类&#xff1a;ArrayListList的实现类之二&#xff1a;LinkedListList的实现类…...

VS2019编译安装OpenMesh8.0

文章目录 一、简介二、相关准备三、编译安装四、举个栗子参考资料一、简介 多边形网格一直以来就是交互式3D图形应用程序中最合适的几何表示,它们足够灵活,可以近似任意形状,并且可以通过当前的图形硬件有效地处理,即使在今天的低成本电脑上也是如此。OpenMesh便是其中一种…...

Python爬虫遇到URL错误解决办法大全

在进行Python爬虫任务时&#xff0c;遇到URL错误是常见的问题之一。一个错误的URL链接可能导致爬虫无法访问所需的网页或资源。为了帮助您解决这个问题&#xff0c;本文将提供一些实用的解决方法&#xff0c;并给出相关代码示例&#xff0c;希望对您的爬虫任务有所帮助。 一、…...

基于Vue+ElementUI+Echarts+G2Plot的大屏设计器,代码完全开源

简介 &#x1f525;DataRoom是一款基于SpringBoot、MyBatisPlus、ElementUI、G2Plot、Echarts等技术栈的大屏设计器&#xff0c;具备大屏设计、预览、资源管理、组件管理等能力&#xff0c;支持JSON、MySQL、Oracle、PostgreSQL、HTTP、JavaScript、Groovy等数据集接入&#x…...

SciencePlots——绘制论文中的图片

文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了&#xff1a;一行…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题

在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件&#xff0c;这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下&#xff0c;实现高效测试与快速迭代&#xff1f;这一命题正考验着…...

Golang——9、反射和文件操作

反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一&#xff1a;使用Read()读取文件2.3、方式二&#xff1a;bufio读取文件2.4、方式三&#xff1a;os.ReadFile读取2.5、写…...

Qemu arm操作系统开发环境

使用qemu虚拟arm硬件比较合适。 步骤如下&#xff1a; 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载&#xff0c;下载地址&#xff1a;https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...

毫米波雷达基础理论(3D+4D)

3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文&#xff1a; 一文入门汽车毫米波雷达基本原理 &#xff1a;https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...

上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式

简介 在我的 QT/C 开发工作中&#xff0c;合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式&#xff1a;工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...

React从基础入门到高级实战:React 实战项目 - 项目五:微前端与模块化架构

React 实战项目&#xff1a;微前端与模块化架构 欢迎来到 React 开发教程专栏 的第 30 篇&#xff01;在前 29 篇文章中&#xff0c;我们从 React 的基础概念逐步深入到高级技巧&#xff0c;涵盖了组件设计、状态管理、路由配置、性能优化和企业级应用等核心内容。这一次&…...

初级程序员入门指南

初级程序员入门指南 在数字化浪潮中&#xff0c;编程已然成为极具价值的技能。对于渴望踏入程序员行列的新手而言&#xff0c;明晰入门路径与必备知识是开启征程的关键。本文将为初级程序员提供全面的入门指引。 一、明确学习方向 &#xff08;一&#xff09;编程语言抉择 编…...

在MobaXterm 打开图形工具firefox

目录 1.安装 X 服务器软件 2.服务器端配置 3.客户端配置 4.安装并打开 Firefox 1.安装 X 服务器软件 Centos系统 # CentOS/RHEL 7 及之前&#xff08;YUM&#xff09; sudo yum install xorg-x11-server-Xorg xorg-x11-xinit xorg-x11-utils mesa-libEGL mesa-libGL mesa-…...