如何创建Maven项目

article/2025/9/17 1:42:14

1.什么是 maven

  • maven是一个构建工具

  • 功能:
    ① 把编译好的.class文件打包成一个.jar文件
    ② 依赖管理(一个复杂的程序通常会依赖第三方库)使用的时候,需要把对应的jar包下载下来,导入工程中

2.如何创建maven项目

maven不需要安装,idea自带,我们只需要下载依赖

第一步:打开idea,找到设置里面的maven
在这里插入图片描述

第二步:用文本编辑器打开setting.xml,根据这个网站将maven源改为国内阿里云镜像,否则后面下载依赖会非常慢
maven的路径一般不要改,如果要改,一定不要有中文,也不要带特殊符号

第三步:新建项目

在这里插入图片描述
第四步:选择webApp模板

在这里插入图片描述
第五步:有默认值就不用管,直接next,没有默认值,自己随便起个名

在这里插入图片描述
第六步:一路next,到这里等就行了
第一次创建maven的时候,可能非常慢(30分钟-几个小时都有可能)一定要有耐心!!!
在这里插入图片描述

第七步:点击Enable Auto-Import

在这里插入图片描述
第八步:当出现BUILD SUCCESS,说明已经下载成功了

在这里插入图片描述
第九步:maven项目自动创建好目录结构,这个结构是固定的,javaweb的目录结构都是这样
完整的目录结构需要再添加几个目录:java,resources,test
在这里插入图片描述

第十步:标记每个目录的功能(告诉idea每个目录的作用)

标记java目录
在这里插入图片描述

标记resources目录
在这里插入图片描述
标记test目录
在这里插入图片描述

3.出现下载失败的解决办法

  1. 如果创建失败,仔细查看错误信息,大部分情况是网络下载失败
    解决办法:
    ① 如果setting.xml文件没有修改的,最好要按照上面第二步的网址更换中央仓库
    ② 如果setting.xml文件已经修改了,还是下载失败,找个网络环境好的时间地点,重新建一个项目,重新下载

  2. <version>4.11</version>如果看到这里版本是红色的,说明jar包没有下载到本地,还没下载好,耐心等待

  3. 如果路径有中文,把路径中文改成英文的,然后重新下载

4.pom.xml标签介绍

pom.xml是maven项目的核心配置文件

  1. <packaging>war</packaging>
    普通的java程序打包出来是jar包,webAPP打包出来是war包
    如果没有packaging标签,默认打包为jar包

  2. 依赖管理里面包含很多dependency标签,每一个dependency标签就对应一个第三方jar包,此处已经默认了一个jar包:junit(单元测试工具)

    junit junit 4.11 test//scope:表示junit包在哪个环节生效:test(测试环节)
  3. <finalName>firstDemo</finalName>:打包出来的包的包名:firstDemo

5. 用maven引入mysql connector

写数据库程序,需要引入数据库相关的jar

需要把mysql相关配置写到pom.xml中
注意:一定不要手写,从中央仓库复制即可,maven的中央仓库

  • 第一步:打开中央仓库

在这里插入图片描述

  • 第二步:找到对应版本的mysql connector,你的mysql服务器是5版本,mysql connector就下载5开头的版本即可
    在这里插入图片描述

  • 第三步,如果是通过配置pom.xml来引入mysql connector,就将上一步粘贴的内容复制到此处
    在这里插入图片描述

6. maven的打包过程

  • 第一步:写好程序之后,点击maven–>package–>Run Maven Build,然后等待
    在这里插入图片描述

  • 第二步:出现如下,则打包成功
    在这里插入图片描述

  • 第三步:打包后的成果:target
    在这里插入图片描述

7. maven 的生命周期

  • clean:清空之前编译生成的临时文件
  • validate:验证合法性(验证pom.xml是否正确,以及依赖是否已经下载好)
  • compile:编译,自动调用javac把你的代码中的.java编译成.class
  • test:单元测试,自动执行test这个目录中的单元测试的代码
  • package:最常用的,进行打包
  • verify:确认,对测试结果进行集成测试
  • install:安装,把你的程序部署到某个本地目录中,供其他程序使用
  • deploy:部署

http://chatgpt.dhexx.cn/article/DmQq6Uy3.shtml

相关文章

idea创建maven项目 [超详细]

一、背景。 IDEA是用于java语言开发的集成环境&#xff0c;并且经常用于maven、spring、MyBatis等项目的开发。今天将为大家介绍如何在IDEA中创建Maven项目。 二、idea创建maven项目。 1.首先打开IDEA后点击file->settings ,然后在VM Options内添加 -DarchetypeCatalogi…

Idea中创建maven项目(超详细)

Idea中创建maven项目 提示&#xff1a;前提条件时maven已经安装好&#xff0c;并且环境变量也配置完成&#xff0c;maven没安装好或者环境变量没有配置好的请参考我上一篇文章——maven的安装和配置 上篇博文链接&#xff1a;https://blog.csdn.net/zzvar/article/details/11…

maven入门:一个简单的maven项目

简介 Maven是一个用于项目管理的工具&#xff0c;其好处是为我们管理jar包的依赖版本&#xff0c;同时也方便的组合我们自己的代码模块。在入门前有两个概念先简单介绍一下&#xff0c;一个是坐标&#xff0c;另一个是仓库。 坐标&#xff1a;maven为每一个jar包或模块都定义…

Maven项目的介绍、入门搭建

Maven项目的介绍、入门搭建 一、什么是Maven项目 Maven 是 Apache 组织下的一个跨平台的项目管理工具&#xff0c;它主要用来帮助实现项目的构建、测试、打包和部署。Maven 提供了标准的软件生命周期模型和构建模型&#xff0c;通过配置就能对项目进行全面的管理。它的跨平台性…

Maven项目详解

目录 一、简介 二、准备工作 1、安装maven &#xff08;参考文章&#xff1a;maven下载安装详解&#xff09; 2、配置maven本地仓库 3、中央仓库 4、目录结构 5、POM&#xff08;Project Object Model&#xff09; 6、IDE配置 三、Maven项目创建步骤 1、在Eclipse中创…

Maven项目构建

Maven项目构建 一、Maven的介绍1.1 Maven的作用1.2 Maven仓库1.3 Maven目录及配置 二、Maven的使用2.1 Maven 工程的目录结构2.2 pom.xml配置文件 三、Maven多模块项目3.1 创建多模块项目3.2 父模块与子模块pom.xml 一、Maven的介绍 1.1 Maven的作用 Maven 的依赖管理 项目的…

如何使用 Maven 来创建项目(一篇文章就够了)

如何使用 Maven 来创建项目&#xff08;一篇文章就够了&#xff09; 1. Maven 简介1. 简介2. 项目构建3. 项目构建工具 2. Maven 的四大特性1. 依赖管理系统版本号规范 2. 多模块构建3. 一致的项目结构4. 一致的构建模型和插件机制 3. Maven 的安装配置和目录结构1. Maven 的安…

IDEA中创建maven项目详细步骤,很清晰

前言 在IDEA中创建Maven项目&#xff0c;前提是已经安装配置好Maven环境 。 如还未配置安装Maven的&#xff0c;请先下载安装。如何下载安装&#xff0c;可参考我另外篇文章&#xff1a; maven的下载与安装教程 本篇教程是以创建基于servlet的JavaWeb项目为例子&#xff0c;如…

深拷贝和浅拷贝

深拷贝和浅拷贝的知识涉及到堆栈的概念。 堆栈的概念&#xff1a; 基本类型&#xff1a; 名值存储在栈内存中&#xff0c;例如: let a 1;引用类型&#xff1a; 名存在栈内存中&#xff0c;值存在于堆内存中&#xff0c;但是栈内存会提供一个引用的地址指向堆内存中的值&…

深拷贝和浅拷贝的区别详解

深拷贝和浅拷贝的作用是复制对象数据&#xff0c;这两者都用于构造拷贝构造函数中&#xff0c;那么这俩之间到底有什么区别呢&#xff1f; 先上答案 - 浅拷贝&#xff1a;简单的赋值拷贝操作 - 深拷贝&#xff1a;在堆区重新申请内存空间&#xff0c;进行拷贝操作 下面举一个…

Python深拷贝与浅拷贝的区别

首先深拷贝和浅拷贝都是对象的拷贝&#xff0c;都会生成一个看起来相同的对象&#xff0c;他们本质的区别是拷贝出来的对象的地址是否和原对象一样&#xff0c;也就是地址的复制还是值的复制的区别。 什么是可变对象&#xff0c;什么是不可变对象&#xff1a; 可变对象是指&am…

详解JS深拷贝与浅拷贝

深拷贝与浅拷贝 深拷贝和浅拷贝都只针对引用数据类型&#xff0c;浅拷贝会对对象逐个成员依次拷贝&#xff0c;但只复制内存地址&#xff0c;而不复制对象本身&#xff0c;新旧对象成员还是共享同一内存&#xff1b;深拷贝会另外创建一个一模一样的对象&#xff0c;新对象跟原对…

c++深拷贝与浅拷贝

浅拷贝&#xff1a;简单的赋值拷贝操作&#xff08;这个是系统默认提供的&#xff09; 深拷贝&#xff1a;在堆区重新释放空间&#xff0c;进行拷贝操作&#xff08;要自己写的&#xff09; 简单来说&#xff0c;只要类属性里有指针等就必须利用深拷贝操作 为便于深刻理解&a…

实现深拷贝与浅拷贝的方法

深拷贝与浅拷贝概念&#xff1a; 深浅拷贝出现的前提&#xff1a; 应用类型的数据&#xff08;对象和数组&#xff09; 深拷贝就是把目标对象里面的数据一个一个都复制下来&#xff0c;创建出一个一模一样的&#xff0c;存放地址不一样&#xff0c;互不影响。就像真假美猴王。改…

深拷贝和浅拷贝的区别及实现方法

文章目录 一、引言二、浅拷贝1.Object.assign()2.concat()3.扩展运算符 三、深拷贝1. 利用json数据和json字符串之间的转换2.$.extend()3. 递归 查阅多篇文章后&#xff0c;自己归纳总结对深拷贝和浅拷贝的理解&#xff0c;不足之处&#xff0c;还望多多指导 一、引言 基本数据…

深拷贝与浅拷贝的区别

深拷贝与浅拷贝是针对对象属性为对象的&#xff0c;因为基本数据类型在进行赋值操作时&#xff08;也就是深拷贝&#xff08;值拷贝&#xff09;&#xff09;&#xff0c;是直接将值赋给了新的变量&#xff0c;也就是该变量是原变量的一个副本&#xff0c;这时&#xff0c;你修…

深拷贝和浅拷贝的区别是什么?

深拷贝和浅拷贝的区别是什么? 1、浅拷贝 (1)、定义 被复制对象的所有变量都含有与原来的对象相同的值&#xff0c;而所有的对其他对象的引用仍然指向原来的对象。即对象的浅拷贝会对“主"对象进行拷贝&#xff0c;但不会复制主对象里面的对象。"里面的对象”会在…

深拷贝和浅拷贝常见的实现方式

浅拷贝的实现方式 1. Object.assign()方法 assign()方法是把任意多个的源对象自身的可枚举属性拷贝给目标对象&#xff0c;然后返回目标对象。但是他的拷贝方式不是固定的&#xff0c;看下面的代码演示&#xff1a; let obj {username: kobe}; let obj2 Object.assign({},o…

什么是深拷贝和浅拷贝?以及怎么实现深拷贝和浅拷贝?

拷贝浅是创建一个新对象&#xff0c;这个对象有着原始对象属性值的一份精确拷贝。如果属性是基本类型&#xff0c;拷贝的就是基本类型的值&#xff0c;如果属性是引用类型&#xff0c;拷贝的就是内存地址&#xff0c;所以如果其中一个对象改变了这个地址&#xff0c;就会影响到…

Java的深拷贝与浅拷贝的区别

1.二者的区别 浅拷贝&#xff1a;在拷贝一个对象时&#xff0c;对对象的基本数据类型的成员变量进行拷贝&#xff0c;但对引用类型的成员变量只进行引用的传递&#xff0c;并没有创建一个新的对象&#xff0c;当对引用类型的内容修改会影响被拷贝的对象。 深拷贝&#xff1a;在…