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

Java---Maven详解

 一段新的启程, 披荆斩棘而前, 心中的梦想, 照亮每个黑暗的瞬间。

无论风雨多大, 我们都将坚强, 因为希望的火焰, 在胸中永不熄灭。

成功不是终点, 而是每一步的脚印, 用汗水浇灌, 梦想终会成真。

目录

一,Maven的介绍 

二,Maven的安装

 三,IDEA集成Maven

 四,创建Maven项目

 五,Maven的坐标

 六,导入Mavne项目

七,依赖配置​编辑

八,依赖传递

 九,依赖范围

 十,依赖的生命周期

一,Maven的介绍 

maven是一个项目管理和构建工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建。

作用:

        ①方便的依赖管理

        ②统一的项目结构

        ③标准的项目构建流程

仓库:用于存储资源,管理各种jar包

本地仓库:自己计算机目录上的一个目录。

中央仓库:由Maven团队维护的全球唯一的。

远程仓库:一般由公司团队搭建的私有仓库。

 

二,Maven的安装

 三,IDEA集成Maven

 四,创建Maven项目

注意:

在 IntelliJ IDEA 中创建一个 Maven 项目时,选择合适的 Maven Archetype 可以帮助你快速生成项目的基础结构。以下是一些常用的 Maven Archetype 选项,根据你的项目类型进行选择:

  1. maven-archetype-quickstart

    • 适用于创建简单的 Java 项目。
    • 命令行选择:maven-archetype-quickstart
    • 描述:一个简单的 Maven 项目骨架,包含基础的目录结构和一个示例 Java 类。
  2. maven-archetype-webapp

    • 适用于创建 Java Web 应用程序。
    • 命令行选择:maven-archetype-webapp
    • 描述:用于生成一个基础的 Java Web 应用程序目录结构,包括一个基本的 web.xml 文件。
  3. spring-boot-archetype

    • 适用于创建 Spring Boot 项目。
    • 命令行选择:spring-boot-sample-archetype
    • 描述:一个用于生成 Spring Boot 应用的骨架项目,包含基本的配置和示例代码。
  4. maven-archetype-j2ee-simple

    • 适用于创建简单的 Java EE 应用程序。
    • 命令行选择:maven-archetype-j2ee-simple
    • 描述:生成一个简单的 Java EE 项目结构,适合初学者快速上手。
  5. maven-archetype-site-simple

    • 适用于创建一个包含 Maven 站点生成的项目。
    • 命令行选择:maven-archetype-site-simple
    • 描述:用于生成一个带有 Maven 站点生成配置的项目骨架。

以下是如何在 IntelliJ IDEA 中选择和使用 Maven Archetype 创建项目的步骤:

  1. 打开 IntelliJ IDEA 并选择 File -> New -> Project

  2. 在新项目向导中,选择 Maven,然后点击 Next

  3. 输入项目的 GroupIdArtifactId,并选择 Next

  4. Advanced Settings 中,你可以选择 Create from archetype,然后点击 Add Archetype 来手动添加一个 Archetype。

    • 输入相应的 Archetype GroupIdArchetype ArtifactId 和 Version
    • 例如:对于 maven-archetype-quickstart,输入:
      • Archetype GroupId: org.apache.maven.archetypes
      • Archetype ArtifactId: maven-archetype-quickstart
      • Version: 1.4(具体版本可根据需求选择)
  5. 选择你添加的 Archetype,然后点击 Next,完成项目的创建。

通过这些步骤,你可以快速创建一个符合你需求的 Maven 项目骨架,并开始你的开发工作。

 五,Maven的坐标

什么是坐标?

Maven中的坐标是资源的唯一标识,通过该坐标可以唯一定位资源位置

使用坐标来定义项目或引入项目中需要的依赖

Maven坐标主要组成

① groupId:定义当前Maven项目隶属组织名称(通常是域名反写,列如:com.yuanzhen)

②artifactId:定义当前Maven项目名称(通常是模块名称,列如:goods-service)

③version:定义当前项目版本号

 六,导入Mavne项目

七,依赖配置

八,依赖传递

依赖是具有传递性的

直接依赖:在当前项目中通过依赖配置建立的依赖关系

间接依赖:被依赖的资源如果依赖其他资源,当前项目间接依赖其他资源

请看下图:

 九,依赖范围

 十,依赖的生命周期

 

 

 注意:同一套生命周期中,当运行后面的阶段时,前面的阶段都会运行

相关文章:

Java---Maven详解

一段新的启程, 披荆斩棘而前, 心中的梦想, 照亮每个黑暗的瞬间。 无论风雨多大, 我们都将坚强, 因为希望的火焰, 在胸中永不熄灭。 成功不是终点, 而是每一步的脚印, 用汗水浇灌&…...

服务器日志事件ID4107:从自动更新 cab 中提取第三方的根目录列表失败,错误为: 已处理证书链,但是在不受信任提供程序信任的根证书中终止。

在查看Windows系统日志时,你是否有遇到过事件ID4107错误,来源CAPI2,详细信息在 http://www.download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/authrootstl.cab 从自动更新 cab 中提取第三方的根目录列表失败,…...

【高级篇】MySQL集群与分布式:构建弹性和高效的数据服务(十四)

引言 在探讨了《分区与分片》策略后,我们已经学会了如何在单一数据库层面有效管理大量数据和提升查询效率。本章,我们将踏上更高层次的探索之旅,深入MySQL集群与分布式技术的广阔领域。这些技术不仅能够横向扩展系统的处理能力和存储容量,还能显著增强数据服务的可靠性和响…...

vue3 学习记录

文章目录 props组合式组件 使用<script setup \>组合式组件 没有使用 <script setup\>选项式组件 this emits组合式组件 使用<script setup \>组合式组件 没有使用 <script setup\>选项式组件 this v-model 组件数据绑定单个model多个model实现 model …...

spring boot jar 启动报错 Zip64 archives are not supported

spring boot jar 启动报错 Zip64 archives are not supported 原因、解决方案问题为什么 spring boot 不支持 zip64zip、zip64 功能上的区别zip 的文件格式spring-boot-loader 是如何判断是否是 zip64 的&#xff1f; 参考 spring boot 版本是 2.1.8.RELEASE&#xff0c;引入以…...

BASH and SH in SHELL scripts

一、执行脚本的现象 为了测试一个小的功能&#xff0c;写了一个小脚本&#xff0c;类似的内容如下&#xff1a; #!/bin/shecho "start api test ......"for((i1;i<10;i)); do echo "cur id :" $i; done echo "end."执行一下&#xff0c;“…...

Qt Creator创建一个用户登录界面

目录 1 界面设计 2 代码 2.1 登录界面 2.2 注册界面 2.3 登陆后的界面 3 完整资源 这里主要记录了如何使用Qt Creator创建一个用户登录界面&#xff0c;能够实现用户的注册和登录功能&#xff0c;注册的用户信息存储在了一个文件之中&#xff0c;在登录时可以比对登录信息…...

等保测评练习卷14

等级保护初级测评师试题14 姓名&#xff1a; 成绩&#xff1a; 判断题&#xff08;10110分&#xff09; 1. 方案编制活动中测评对象确定、测评指…...

学懂C#编程:常用高级技术——学会C#多线程开发(三):学会线程池的使用

在C#中&#xff0c;线程池&#xff08;ThreadPool&#xff09;是一种用于管理线程的机制&#xff0c;它可以有效地重用线程&#xff0c;减少线程创建和销毁的开销&#xff0c;从而提高程序的性能。线程池通常用于执行不需要立即完成的任务&#xff0c;如后台任务、异步操作等。…...

maven-gpg-plugin插件

开源项目SDK&#xff1a;https://github.com/mingyang66/spring-parent 个人文档&#xff1a;https://mingyang66.github.io/raccoon-docs/#/ 一、敏感信息泄漏警告 执行mvn install或mvn deploy时控制台会报如下告警&#xff1a; [WARNING] Parameter passphrase (user pr…...

Linux——echo命令,管道符,vi/vim 文本编辑器

1.echo 命令 作用 向终端设备上输出字符串或变量的存储数据 格式 echo " 字符串 " echo $ 变 量名 [rootserver ~] # echo $SHELL # 输出变量的值必须加 $ /bin/bash [rootserver ~] # str1" 我爱中国 " # 自定义变量 echo 重定向输出到文件 ec…...

CISCN--西南半决赛--pwn

1.vuln 这是主函数&#xff0c;数一下就发现可以溢出最后的0x4008d0 然后会执行到这里&#xff0c;逻辑就是在v0上写shellcode&#xff0c;不过执行写0x10&#xff0c;不够sh&#xff0c;很明显要先read。 以下是exp: from pwn import * context.archamd64 ioprocess(./vuln)…...

DIYGW UniApp低代码可视化平台:高效、灵活、安全的应用开发新途径

一、引言 在数字化快速发展的今天&#xff0c;企业对于快速构建多端应用的需求日益增长。然而&#xff0c;传统的应用开发方式往往面临周期长、成本高、技术门槛高等问题。为了解决这些问题&#xff0c;DIYGW UniApp低代码可视化平台应运而生&#xff0c;它以高效率、多端使用…...

Python爬虫技术及其原理探秘

导言 随着互联网的发展&#xff0c;大量的数据被存储在网络上&#xff0c;而我们需要从中获取有用的信息。Python作为一种功能强大且易于学习的编程语言&#xff0c;被广泛用于网络爬虫的开发。本文将详细介绍Python爬虫所需的技术及其原理&#xff0c;并提供相关的代码案例。…...

堆和栈的区别及应用场景

堆和栈的区别及应用场景 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 在计算机科学和编程领域&#xff0c;堆&#xff08;Heap&#xff09;和栈&#xff08…...

vant的dialog触发了其他overlay

原代码: <!-- dialog --><van-dialog v-model"showTipsDialog" title"温馨提示"><p>dialog内容</p></van-dialog><!-- overlay --><van-overlay style"display: flex" :show"showLoadingOverlay&q…...

Linux驱动开发笔记(十二)并发与竞争

文章目录 前言一、并发与竞争的引入1.1 并发1.2 竞争1.3 解决方法 二、原子操作2.1 概念2.2 使用方法 三、自旋锁3.1 概念3.2 使用方法3.3 自旋锁死锁 四、信号量4.1 概念4.2 使用方法 五、互斥锁5.1 概念5.2 使用方法 前言 Linux的子系统我们已经大致学习完了&#xff0c;笔者…...

【Mac】Listen 1 for Mac(最强的音乐搜索工具)软件介绍

软件介绍 Listen 1 for Mac 是一款非常方便的音乐播放软件&#xff0c;主要功能是集成多个音乐平台&#xff0c;让用户可以方便地搜索、播放和管理音乐。它是一个用 Python 语言开发的免费开源综合音乐搜索工具项目&#xff0c;最大的亮点在于可以搜索和播放来自网易云音乐&am…...

nginx 1024 worker_connections are not enough while connecting to upstream

现象 请求api响应慢&#xff0c;甚至出现504 gateway timeout&#xff0c;重启后端服务不能恢复&#xff0c;但重启nginx可以恢复。 解决方案 worker_connections使用了默认值 1024&#xff0c;当流量增长时&#xff0c;导致连接不够 在nginx.conf中修改连接数就可以了&…...

在Ubuntu 16.04上安装和配置Elasticsearch的方法

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 简介 Elasticsearch 是一个用于实时分布式搜索和数据分析的平台。它因易用性、强大功能和可扩展性而备受欢迎。 Elasticsearch 支持 R…...

C#给SqlSugar封装一个单例类

.NET兼职社区 可以直接用&#xff0c;轻量方便&#xff0c;无需重复造轮子。 这里只对CRUD进行封装&#xff0c;我的应用比较简单。 using SqlSugar; using System.Collections.Generic;namespace MusicApp.Assist {internal class SqlSugarAssist{private static readonly ob…...

Postman接口测试工具的原理及应用详解(六)

本系列文章简介&#xff1a; 在当今软件开发的世界中&#xff0c;接口测试作为保证软件质量的重要一环&#xff0c;其重要性不言而喻。随着前后端分离开发模式的普及&#xff0c;接口测试已成为连接前后端开发的桥梁&#xff0c;确保前后端之间的数据交互准确无误。在这样的背景…...

【算法 之插入排序 原理及案例】

插入排序原理&#xff1a; 插入排序&#xff08;Insertion Sort&#xff09;是一种简单直观的排序算法。它的工作原理是通过构建有序序列&#xff0c;对于未排序数据&#xff0c;在已排序序列中从后向前扫描&#xff0c;找到相应位置并插入。插入排序在实现上&#xff0c;通常…...

第一节:如何开发第一个spring boot3.x项目(自学Spring boot 3.x的第一天)

大家好&#xff0c;我是网创有方&#xff0c;从今天开始&#xff0c;我会记录每篇我自学spring boot3.x的经验。只要我不偷懒&#xff0c;学完应该很快&#xff0c;哈哈&#xff0c;更新速度尽可能快&#xff0c;想和大佬们一块讨论&#xff0c;如果需要讨论的欢迎一起评论区留…...

JS逆向:由 words 、sigBytes 引发的一系列思考与实践

【作者主页】&#xff1a;小鱼神1024 【擅长领域】&#xff1a;JS逆向、小程序逆向、AST还原、验证码突防、Python开发、浏览器插件开发、React前端开发、NestJS后端开发等等 在做JS逆向时&#xff0c;你是否经常看到 words 和 sigBytes 这两个属性呢&#xff0c;比如&#xff…...

计算机的错误计算(十五)

摘要 介绍历史上由于计算精度问题引起的灾难或事件。 今天换个话题&#xff0c;说说历史上曾经发生过的一些事件。 1961 年 , 美国麻省理工学院气象学家洛伦兹在仿真天气预报时 , 将 0.506127 舍入到 0.506 , 所得计算结果大相径庭 ! 这种“差之毫厘 , 谬以千里”的现象…...

制作img文件

安装软件包 sudo apt-get install dosfstools dump parted kpartx 创建空白img文件 sudo dd if/dev/zero ofraspberrypi.img bs1M count4000 给img文件分区 sudo parted raspberrypi.img --script -- mklabel msdos sudo parted raspberrypi.img --script -- mkpart primar…...

GB28181视频汇聚平台EasyCVR接入Ehome设备视频播放出现异常是什么原因?

多协议接入视频汇聚平台EasyCVR视频监控系统采用了开放式的架构&#xff0c;系统可兼容多协议接入&#xff0c;包括市场标准协议&#xff1a;国标GB/T 28181协议、GA/T 1400协议、JT808、RTMP、RTSP/Onvif协议&#xff1b;以及主流厂家私有协议及SDK&#xff0c;如&#xff1a;…...

Java利用poi实现word,excel,ppt,pdf等各类型文档密码检测

介绍 最近工作上需要对word,excel,ppt,pdf等各类型文档密码检测&#xff0c;对文件进行分类&#xff0c;有密码的和没密码的做区分。查了一堆资料和GPT都不是很满意&#xff0c;最后东拼西凑搞了个相对全面的检测工具代码类&#xff0c;希望能给需要的人带来帮助。 说明 这段…...

顺序表与链表学习笔记

顺序表及其结构定义 &#xff08;1&#xff09;结构定义 顺序存储&#xff1a; 顺序表的元素按顺序存储在一块连续的内存区域中&#xff0c;每个元素占用相同大小的存储空间。通过数组实现&#xff0c;每个元素可以通过下标快速访问。 存储密度高&#xff1a; 因为顺序表使用…...

以后做网站发展前途/宁波seo高级方法

来自&#xff1a;http://www.cnblogs.com/zhwl/archive/2012/06/06/2538494.html 对于iphone开发人员来说&#xff0c;内存管理是极为重要的技巧&#xff0c;哪怕程序的功能再强大&#xff0c;设计再漂亮&#xff0c;如果内存控制不好&#xff0c;也难逃程序莫名退出的噩运&…...

室内设计联盟模型下载/seo推广优化

近期&#xff0c;JetBrains发布了其旗舰产品IntelliJ IDEA的2018.2版本。新版本支持即将推出的Java 11、断点意图&#xff08;Breakpoints Intentions&#xff09;、MacBook的Touch Bar等特性&#xff0c;并改进了Spring Boot、Scala和Docker插件。\\Java\\IntelliJ IDEA 2018.…...

做网站公众号多少钱/微信管理

十九个模块&#xff1a; Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM 。 一、Java 基础 1.JDK 和 JRE 有什么区别&a…...

做动态网站 需要哪些知识/百度榜

①提交之前先更新&#xff0c;负责而谨慎地提交自己的代码  1.SVN更新的原则是要及时更新&#xff0c;及时提交。当完成了一个小功能&#xff0c;能够通过编译并且并且自己测试之后&#xff0c;尽量早的提交&#xff0c;这样也保存了历史版本&#xff0c;必要时候可以回滚&am…...

商城网站开发那家好/成都网站快速排名优化

1:复制表结构及数据到新表 select * into 目的数据库名.dbo.目的表名 from 原表名 select * into my0735home.dbo.infoMianTest from infoMian 2:备份表的一部分列&#xff08;不写*而写出列的列表&#xff09; select 列名1,列名2,列名3 into 目的数据库名.dbo.目的表名 from …...

武汉模板建站代理/如何推广网页

中文说明&#xff1a;专业增强版 文件名称&#xff1a;ProPlus2021Retail.img 下载地址&#xff1a;http://officecdn.microsoft.com/pr/492350f6-3a01-4f97-b9c0-c7c6ddf67d60/media/zh-cn/ProPlus2021Retail.img 中文说明&#xff1a;专业版 文件名称&#xff1a;Profession…...