Maven中clean、compil等操作介绍和Pom.xml中各个标签介绍

文章目录

  • 前言
  • Maven常用命令
    • 1.clean
    • 2.vaildate
    • 3.compile
    • 4.test
    • 5.package
    • 6.verify
    • 7.install
    • 8.site
    • 9.deploy
  • pom.xml标签详解
    • 格式
    • <?xml version="1.0" encoding="UTF-8"?>(xml版本和编码)
    • modelVersion(xml版本)
    • groupId(项目的组名,通常是反转的域名,比如com.example)
    • artifactId(项目唯一标识符,通常是项目的名称)
    • version(项目的版本好)
    • packaging(项目打包方式,通常是jar、war、pom。默认是jar)
    • name(项目名)
    • description(项目描述)
    • licenses(许可证声明)
    • developers(开发者信息)
    • url(项目主页,提供项目网址)
    • modules(子模块信息)
    • parent(父模块信息)
    • properties(统一管理项目中常用的属性,比如版本号,路径等信息)
    • dependencies(项目依赖信息)
    • repository(指定仓库)
    • build(定义项目的构建配置,包括源代码目录、资源目录、插件等)
    • plugins(定义 Maven 插件, plugins 主要用于扩展 Maven 的功能)

前言

现在java开发使用最多的就是springboot项目,使用springboot项目最多的就是maven工具,记录一下常用的命令,以免忘记

在这里插入图片描述

Maven常用命令

1.clean

删除由以前的生成的所有文件。

2.vaildate

验证项目是否正确,以及所有必要的信息是否可用。

3.compile

编译 Java 源代码。

4.test

使用合适的单元测试框架测试编译的源代码,这些测试不应该要求打包或部署代码。

5.package

将编译后的代码打包为可分发的格式,例如JAR。

6.verify

验证-对集成测试的结果进行任何检查,以确保符合质量标准

7.install

将包安装到本地存储库中,用作本地其他项目的依赖项。

8.site

生成项目的现场文档 。

9.deploy

在构建环境中完成,将最终包复制到远程存储库,以便与其他开发人员和项目共享。

pom.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/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>example-proj</artifactId><version>1.0.0</version><name>Example Project</name><description>This is an example Maven project.</description><url>http://www.example.com/</url><licenses>   <!-- 许可证 --><license><name>The Apache Software License, Version 2.0</name><url>http://www.apache.org/licenses/LICENSE-2.0.txt</url><distribution>repo</distribution></license></licenses><developers>     <!-- 开发者信息 --><developer><id>developer1</id><name>Developer One</name><email>developer1@example.com</email><organization>Example Organizations Inc.</organization><organizationUrl>http://www.example-organizations.com/</organizationUrl><roles><role>developer</role></roles><timezone>-5</timezone></developer></developers><dependencies>  <!-- 依赖项 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>5.2.1.RELEASE</version></dependency></dependencies><build>   <!-- 项目构建 --><plugins>   <!-- 插件配置 --><plugin><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><configuration><source>1.8</source><target>1.8</target></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-jar-plugin</artifactId><version>3.2.0</version><configuration><archive><manifest><addClasspath>true</addClasspath><mainClass>com.example.App</mainClass></manifest></archive></configuration></plugin></plugins></build>
</project>

<?xml version="1.0" encoding="UTF-8"?>(xml版本和编码)

modelVersion(xml版本)

groupId(项目的组名,通常是反转的域名,比如com.example)

artifactId(项目唯一标识符,通常是项目的名称)

version(项目的版本好)

packaging(项目打包方式,通常是jar、war、pom。默认是jar)

name(项目名)

description(项目描述)

licenses(许可证声明)

developers(开发者信息)

url(项目主页,提供项目网址)

modules(子模块信息)

parent(父模块信息)

properties(统一管理项目中常用的属性,比如版本号,路径等信息)

<properties><project.name>demo-project</project.name><project.version>1.0.0</project.version><jdk.version>1.8</jdk.version>
</properties>

dependencies(项目依赖信息)

<dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>5.2.1.RELEASE</version></dependency>
<groupId>:指定依赖项的groupId,项目的组名
<artifactId>:指定依赖项的artifactId,项目的唯一标识符
<version>:指定依赖项的版本号。
<scope>:指定依赖项在项目中的使用范围。常用的有compile、test、provided 和 runtimecompile: 依赖库默认的 scope,表示该依赖库在编译、测试、运行时均需要使用。provided: 表示该依赖库只在编译和测试时需要使用,而在运行时已经被系统或者容器提供,所以不需要打包到最终的应用程序中。runtime: 表示该依赖库只在运行时需要使用,而在编译和测试时则不需要。test: 表示该依赖库只在测试时需要使用,而在编译和运行时则不需要。 比如说我们引入了 junit 包,但显然这个包我们不需要在打包时包含,只是用于测试,那么我们就可以将 junit 的 scope 设置为 test。

repository(指定仓库)

<repositories><repository><id>aliyun-maven</id><name>aliyun-maven</name><url>https://</url></repository>
</repositories>
<id>:指定Maven仓库的ID。
<name>:指定Maven仓库的名称。
<url>:指定Maven仓库的URL

build(定义项目的构建配置,包括源代码目录、资源目录、插件等)

<project>.... 省略其他部分<build><sourceDirectory>src/main/java</sourceDirectory><!--代码路径--><resources><resource><directory>src/main/resources</directory><!--资源文件路径--></resource></resources><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>
</project>

plugins(定义 Maven 插件, plugins 主要用于扩展 Maven 的功能)

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

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

相关文章

Centos7.6安装JDK 1.8教程

前提&#xff1a;先把jdk1.8文件上传到usr/local目录下&#xff0c;文件名如&#xff1a;jdk-8u151-linux-x64.tar.gz 1. 解压 JDK 压缩包 假设 jdk-8u151-linux-x64.tar.gz 文件位于 /usr/local 目录下。 进入 /usr/local 目录&#xff1a; cd /usr/local 解压文件&#…

EuroCropsML:首个面向少样本时间序列作物分类的多国基准数据集

2025-04-15&#xff0c;由慕尼黑工业大学等机构创建的 EuroCropsML 数据集&#xff0c;这是一个结合了农民报告的作物数据与 Sentinel-2 卫星观测的时间序列数据集&#xff0c;覆盖了爱沙尼亚、拉脱维亚和葡萄牙。该数据集为解决遥感应用中作物类型数据空间不平衡问题提供了新的…

将python项目打包成Windows后台服务

前文,我开发了一个基于windows11与本地deepseek实现的语音助手,之前是通过CMD直接执行项目的main.py文件。但是这样不适合移植,现在想将其生成一个exe文件,以及部署成windows的后台服务。 关于语音助手的开发与发布,可以看的CSDN文章:一个基于windows11与本地deepseek实…

yolov8复现

Yolov8的复现流程主要包含环境配置、下载源码和验证环境三大步骤&#xff1a; 环境配置 查看电脑状况&#xff1a;通过任务管理器查看电脑是否有独立显卡&#xff08;NVIDIA卡&#xff09;。若有&#xff0c;后续可安装GPU版本的pytorch以加速训练&#xff1b;若没有&#xff0…

Yocto项目实战教程 · 第4章:4.1小节元数据

&#x1f50d; B站相应的视频教程&#xff1a; &#x1f4cc; Yocto项目实战教程-第4章-4.1小节-元数据 记得三连&#xff0c;标为原始粉丝。 在嵌入式Linux系统构建中&#xff0c;Yocto项目凭借其高度模块化、可配置的特性成为主流工具。而其背后的关键支撑之一&#xff0c;便…

《AI大模型应知应会100篇》第23篇:角色扮演技巧:让AI成为你需要的专家

第23篇&#xff1a;角色扮演技巧&#xff1a;让AI成为你需要的专家 摘要 在当今人工智能快速发展的时代&#xff0c;大模型已经不仅仅是简单的问答工具&#xff0c;它们可以通过角色扮演技巧模拟各类专家身份&#xff0c;从而为用户提供更专业、更有针对性的服务。本文将深入探…

Windows系统安装RustDesk Server的详细步骤和客户端设置

Windows系统安装RustDesk Server的详细步骤 在Windows系统上安装RustDesk Server涉及几个关键步骤,包括安装必要的依赖、下载RustDesk Server程序、配置并启动服务。以下是详细的步骤: 1. 安装Node.js和PM2 RustDesk Server的某些版本可能需要Node.js环境来运行,而PM2是一…

如何实现一个构造函数继承另一个构造函数的属性和方法?给出ES5和ES6两种方式

在 JavaScript 中&#xff0c;构造函数继承可以通过 原型链 和 构造函数调用 实现。以下是 ES5 和 ES6 的实现方式&#xff1a; ES5 实现方式 关键步骤 继承实例属性&#xff1a;在子构造函数中调用父构造函数的 call/apply&#xff0c;绑定 this。继承原型方法&#xff1a;将…

AWS Redshift的使用场景及一些常见问题

Redshift 不是关系型数据库, 提供了Amazon Redshift Serverless 和 Amazon Redshift 都是构建于 Redshift 数仓引擎之上的&#xff0c;但它们适用的场景不同。Redshift和Dynamodb都可以存储数据, 分别怎么选择? 这里记录一些常见的问题和场景。 1. 如何选择用Amazon Redshift…

十五种光电器件综合对比——《器件手册--光电器件》

十五、光电器件 名称 原理 特点 应用 发光二极管&#xff08;LED&#xff09; 基于半导体材料的电致发光效应&#xff0c;当电流通过时&#xff0c;电子与空穴复合&#xff0c;释放出光子。 高效、节能、寿命长、响应速度快、体积小。 广泛用于指示灯、照明、显示&#…

Electricity Market Optimization(VI) - 机组组合模型以及 Gurobi 求解

本文参考链接&#xff1a;link \hspace{1.6em} 机组组合问题在电力系统中非常重要&#xff0c;这个问题也是一个优化问题&#xff0c;研究的就是如何调度现有的机组&#xff0c;调度的对象是以煤炭、石油、天然气为燃料的火力发电机以及水力发电机等可预测处理的发电机组&#…

linux多线(进)程编程——(8)多进程的冲突问题

前言 随着时间的推移&#xff0c;共享内存已经在修真界已经沦为禁术。因为使用这种方式沟通的两人往往会陷入到走火入魔的状态&#xff0c;思维扭曲。进程君父子见到这种情况&#xff0c;连忙开始专研起来&#xff0c;终于它们发现了共享内存存在的问题&#xff1a; 进程间冲…

网络层IP协议知识大梳理

全是通俗易懂的讲解&#xff0c;如果你本节之前的知识都掌握清楚&#xff0c;那就速速来看我的IP协议笔记吧~ 自己写自己的八股&#xff01;让未来的自己看懂&#xff01; &#xff08;全文手敲&#xff0c;受益良多&#xff09; 网路基础3 网路层 TCP并没有把数据发到网路…

数据结构与算法学习导航

目录 指导思想资料总结代码随想录hello-algoOI-WIKI 一名麻瓜的刷leetcode的简单概述。 在这里对过去的自己说: 如果你相信算法有用你就刷刷leetcode&#xff0c;如果不相信面试会让你相信。 当然&#xff0c;现在我确实认为算法和数据结构有用&#xff0c;leetcode也有用。 …

【网络安全】谁入侵了我的调制解调器?(二)

文章目录 针对 TR-069 协议 REST API 的攻击思路攻击百万台调制解调器意外发现 Cox 后端 API 的授权绕过漏洞确认我们能够进入任何人的设备访问和更新任何Cox商业客户账户通过泄露的加密密钥覆盖任何人的设备设置执行对任何调制解调器的命令影响最后想说阅读本文前,请先行浏览…

大模型在急性单纯性阑尾炎预测及治疗方案制定中的应用研究

目录 一、引言 1.1 研究背景与意义 1.2 研究目的 1.3 研究方法与创新点 二、急性单纯性阑尾炎概述 2.1 定义与发病机制 2.2 临床表现 2.3 传统诊断方法 三、大模型在急性单纯性阑尾炎预测中的应用 3.1 大模型简介 3.2 数据收集与处理 3.3 模型训练与优化 3.4 预测…

Linux 上安装和配置 VNC 远程桌面

在 Linux 上安装和配置 VNC&#xff08;Virtual Network Computing&#xff09;可以让你远程访问图形化桌面环境。以下是详细的安装和配置步骤&#xff0c;适用于主流 Linux 发行版&#xff08;如 Ubuntu、CentOS、Debian 等&#xff09;。 1. 安装 VNC 服务器 Ubuntu/Debian …

《AI大模型应知应会100篇》第22篇:系统提示词(System Prompt)设计与优化

第22篇&#xff1a;系统提示词(System Prompt)设计与优化 摘要 在大语言模型&#xff08;LLM&#xff09;应用中&#xff0c;系统提示词&#xff08;System Prompt&#xff09;是控制模型行为的核心工具之一。它不仅定义了模型的身份、角色和行为规范&#xff0c;还直接影响输…

其他网页正常进入,但是CSDN进入之后排版混乱

显示不正常&#xff0c;排版混乱 解决方法&#xff1a; ①打开网络设置 ②更改适配器 ③所连接的网络 --右键 属性 然后就可以正常访问了。

Qwen2.5-VL视觉大语言模型复现过程,没碰到什么坑

视频讲解&#xff1a;Qwen2.5-VL视觉大语言模型复现过程&#xff0c;没碰到什么坑_哔哩哔哩_bilibili Qwen2.5-VL视觉大语言模型复现过程&#xff0c;没碰到什么坑 今天复现下Qwen2.5-VL玩玩 https://github.com/QwenLM/Qwen2.5-VL 创建conda环境&#xff0c;实测22.04&#x…