Maven项目详解

article/2025/9/17 2:35:02

目录

一、简介

二、准备工作

1、安装maven (参考文章:maven下载安装详解)

2、配置maven本地仓库

3、中央仓库

4、目录结构

5、POM(Project Object Model)

6、IDE配置

三、Maven项目创建步骤

1、在Eclipse中创建Java SE maven项目

(1)文件菜单→新建→Maven Project

(2)勾选创建简单项目,下一步

(3)设置项目参数

(4)目录

2、在Eclipse中创建Java EE maven项目

(1)文件菜单→新建→Maven Project

(2)不勾选跳过类型选择,然后点击下一步

(3)选择项目类型为web app,然后点击下一步

(4)设置项目参数,点击完成

(5)可能出现目录不完整的情况,是因为默认的JRE是1.5的,而IDE使用的是更高版本的。

(6)配置pom

3、普通项目转换为maven项目


一、简介

        根据官网介绍:

    Apache Maven is a software project management and comprehension tool.
Based on the concept of a project object model (POM), Maven can manage a project's build,
reporting and documentation from a central piece of information.Apache Maven是一个软件项目管理和理解工具。基于项目对象模型(POM)的概念,Maven可以从中央信息管
理项目的构建,报告和文档。

   java项目经常需要导入很多jar文件,jar文件也经常不断更新版本,我们找资源、导入包、更新版本、部署项目等等,最好通过工具帮我们完成,以提高开发效率。而maven就是这样一个工具。

二、准备工作

1、安装maven (参考文章:maven下载安装详解)

2、配置maven本地仓库

(1) 创建本地仓库目录

(2)找到maven配置文件

(3)复制本地仓库地址

(3)修改settings.xml中的localRespository值为本地仓库目录,注意取消注释

  <localRepository>D:\profession\Java\maven\repository</localRepository>

3、中央仓库

中央仓库:https://mvnrepository.com/

阿里镜像:找到maven的安装位置,打开conf / settings.xml文件,在mirrors标记中添加如下内容。

<mirror><id>nexus-aliyun</id><mirrorOf>central</mirrorOf><name>Nexus aliyun</name><url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

4、目录结构

(1)项目基本结构:

project

  -src

     --main
         -- java                                          java源代码文件
         -- resources                                资源库,会自动复制到classes目录里
    --test
         -- java                                          单元测试java源代码文件
         -- resources                                测试需要用的资源库
  -target

(2)项目详细结构

-src

  --main
      -- bin                                            脚本库
      -- java                                          java源代码文件
      -- resources                                资源库,会自动复制到classes目录里
      -- filters                                        资源过滤文件
      -- assembly                                 组件的描述配置(如何打包)
      -- config                                       配置文件
      -- webapp                                    web应用的目录。WEB-INF、css、js等
  --test
      -- java                                          单元测试java源代码文件
      -- resources                                测试需要用的资源库
      -- filters                                        测试资源过滤库
  -site                                                 Site(一些文档)
-target
LICENSE.txt                                      Project’s license
README.txt                                      Project’s readme

5、POM(Project Object Model)

maven将项目抽象为一个模型,pom.xml是这个模型的描述文件。详情参考:pom详解

6、IDE配置

1. 在Eclipse中配置maven:

窗口菜单--->首选项--->搜索maven--->选择User Settings,将setting.xml的路径填入文本框

三、Maven项目创建步骤

1、在Eclipse中创建Java SE maven项目

(1)文件菜单→新建→Maven Project

(2)勾选创建简单项目,下一步

(3)设置项目参数

(4)目录

2、在Eclipse中创建Java EE maven项目

(1)文件菜单→新建→Maven Project

(2)不勾选跳过类型选择,然后点击下一步

(3)选择项目类型为web app,然后点击下一步

(4)设置项目参数,点击完成

(5)可能出现目录不完整的情况,是因为默认的JRE是1.5的,而IDE使用的是更高版本的。

java视图
java视图下的目录效果

javaEE视图下的目录效果

解决步骤:

(1)右击项目

(2)发现有错误:缺少目录

(3)点击库,选择JRE系统库,点击编辑,修改JDK版本后点击完成。

(4)完整的目录

     或者   

(6)配置pom

在POM中,添加JDK配置,然后右击项目--->maven--->Update Project

<!-- 设置JDK版本 --><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.8</source><target>1.8</target><encoding>UTF-8</encoding><!-- <failOnMissingWebXml>false</failOnMissingWebXml> --></configuration></plugin></plugins></build>

3、普通项目转换为maven项目

右击项目

若少了所需目录,可以自行补充,步骤如下:

(1)右键项目---新建---源文件夹

(2)输入源文件夹的名字


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

相关文章

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;在…

深拷贝和浅拷贝的区别(必须掌握)

前言&#xff1a; 在面试中&#xff0c;你必须要知道的一个知识点&#xff0c;那就是浅拷贝和深拷贝&#xff0c;那么就必须知道基本数据类型和引用类型&#xff0c;其实深拷贝和浅拷贝的主要区别就是其在内存中的存储类型不同。 网片来自网络&#xff08;侵删&#xff09; …

C++的浅拷贝与深拷贝

目录 前言 一、区别 二、浅拷贝 1.简单描述 2.代码实例 三.深拷贝 1.简单描述 2.代码实例 四.完整代码 五.运行结果 总结 前言 C中有两种拷贝&#xff1a;深拷贝和浅拷贝 要是想要运用好拷贝函数就必须清楚深拷贝与浅拷贝的区别 一、区别 1 在未定义拷贝构造函数…

拷贝构造(深拷贝、浅拷贝)

一、概念介绍 拷贝构造&#xff1a;拷贝构造函数&#xff0c;又称构造函数&#xff0c;是一种特殊的构造函数&#xff0c;它由编译器调用来完成一些基于同一类的其他对象的构造及初始化。 其唯一的形参必须是引用&#xff0c;但并不限制为const&#xff0c;一般普遍的会加上c…

C++——深拷贝和浅拷贝

1.浅拷贝与深拷贝的区别 浅拷贝&#xff08;默认拷贝函数&#xff09;&#xff1a;将原对象或原数组的引用直接赋给新对象&#xff0c;新数组&#xff0c;新对象/新数组只是原对象的一个引用。 深拷贝&#xff1a;创建一个新的对象和数组&#xff0c;将原对象的各项属性的“值”…

深拷贝和浅拷贝的区别和与原理

一、基本类型和引用类型 string,number,boolean,null,undefined,symbolFunction,Array,Object 基本类型是按值访问的&#xff0c;引用类型是按引用访问 基本类型和引用类型也有人叫原始类型和对象类型&#xff0c;拥有方法的类型和不能拥有方法的类型&#xff0c;可变类型和不…