“深入解析Maven:安装、创建项目和依赖管理的完全指南“

news2024/12/23 19:18:15

目录

  • 引言
    • Maven的安装
    • 创建Maven项目之前的装备工作
    • Eclipse创建新的Maven项目
    • 项目依赖管理
  • 总结

在这里插入图片描述

引言

Maven是一个流行的项目管理工具,被广泛用于Java项目的构建、依赖管理和部署。它提供了一种简单而强大的方式来管理项目的各个方面,使开发人员能够更专注于业务逻辑的开发,而不必花费过多时间和精力在构建和部署过程上。

在软件开发中,项目往往依赖于许多第三方库和组件。手动管理这些依赖项可能会变得复杂且容易出错。而Maven通过使用一个中央仓库和标准化的依赖描述文件(pom.xml),使得依赖项的管理变得简单而可靠。开发人员只需在pom.xml文件中声明所需的依赖项,Maven就会自动下载并管理这些依赖项的版本和传递性依赖关系。

此外,Maven还提供了一套强大的构建工具,可以自动化执行常见的构建任务,如编译、测试、打包和部署。通过定义一系列的构建生命周期和插件,开发人员可以轻松地执行这些任务,而无需手动编写复杂的构建脚本。

Maven的安装

Windows操作系统的安装步骤:

  • 下载Maven二进制文件(.zip或.tar.gz格式)。

  • 解压缩下载的文件到你想要安装Maven的目录。

  • 配置环境变量,将Maven的bin目录添加到系统的PATH变量中。
    在这里插入图片描述
    在这里插入图片描述

  • 验证安装是否成功,运行mvn -version命令。

  • 在这里插入图片描述

  • 设置setting.xml(在路径下apache-maven-3.5.0里的conf里面)

  • 在这里插入图片描述

  • 创建一个本地仓库地址,箭头里面放仓库地址 在这里插入图片描述

在这里插入图片描述

  • 再配一个镜像
  • <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> <mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/repositories/central/</url> </mirror> ![](https://img-blog.csdnimg.cn/c70eb8ad542e43ae9f97cdf151619c20.png)
  • 在这里插入图片描述

在这里安装步骤和装备就OK了,接下来进入eclipse里进行创建Maven项目准备

创建Maven项目之前的装备工作

  • 先把编码配好
  • 配置Tomcat与jdk
  • 配置maven(切记,配置好路径后一定要勾选上)
  • 在这里插入图片描述
  • 里面配置conf里的settings.xml在这里插入图片描述

Eclipse创建新的Maven项目

Eclipse创建maven步骤:

  • Ctrl+n 寻找关键字maven

  • 在这里插入图片描述

  • 选中这两个

  • 在这里插入图片描述

  • 保存会进行自动下载插件

  • 右键项目,如后点击build path

  • 在这里插入图片描述

项目依赖管理

  • 然后配置pom.xml
<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.zking</groupId>
  <artifactId>T287_maven</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>T287_maven Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    	<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.44</version>
		</dependency>

		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>4.0.1</version>
			<scope>provided</scope>
		</dependency>
  </dependencies>
  <build>
    <finalName>T287_maven</finalName>
    <plugins>
    <!--第一步就是配置maven-compiler-plugin插件-->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.7.0</version>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
    </plugins>
  </build>
</project>

  • 配置好了会自动下载
  • 检验是否配置成功
  • 在这里插入图片描述

在这里插入图片描述

  • 再配置web.xml
<!-- 修改web.xml由2.3至3.1 -->
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">
  <display-name>Archetype Created Web Application</display-name>
</web-app>

  • 最后右键项目选中最后一个
  • 在这里插入图片描述
  • 在这里插入图片描述
  • 在这里插入图片描述

总结

在本博客中,我们详细介绍了Maven的安装和创建Maven项目的过程。我们了解到Maven是一个强大的项目管理工具,可以帮助开发人员更好地管理项目的依赖项、构建和部署。

首先,我们学习了如何安装Maven。提供了针对不同操作系统的安装步骤,并确保提供了详细的说明和截图,以便读者能够轻松地按照指南安装Maven。

接下来,我们深入了解了如何使用Maven创建一个新的项目。我们介绍了使用命令行工具和集成开发环境(IDE)创建项目的步骤,并提供了示例和截图,以帮助读者更好地理解。

我们还学习了如何在Maven项目中管理依赖项。通过在项目的pom.xml文件中添加依赖项,我们可以轻松地指定所需的库和组件,并让Maven自动处理依赖项的下载和管理。

最后,我们总结了整个博客的内容,并强调了Maven的重要性和优势。我们鼓励读者在他们的项目中使用Maven,并提供了进一步学习的资源,以帮助他们更好地掌握和应用Maven。

通过本博客,我们希望读者能够掌握Maven的基本概念和使用方法,并能够在实际项目中应用这些知识。Maven将为您的项目管理和构建过程带来便利和效率,使您能够更专注于开发出高质量的软件。祝您在使用Maven的过程中取得成功!

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

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

相关文章

Node 使用 MySQL

1、安装驱动 使用 npm 进行安装 mysql $ npm install mysql 2、连接数据库 在以下实例中根据你的实际配置修改数据库用户名、及密码及数据库名&#xff1a; test.js 文件 var mysql require(mysql); var connection mysql.createConnection({host : localhost…

这10个在线AI绘图工具太好用了,设计师们快来get!

无论你是一名专业的插画师&#xff0c;还是一个富有创造力、想随时随地记录生活灵感的人&#xff0c;现在只需要拿起平板或打开电脑浏览器&#xff0c;就能将头脑中的画面描绘出来。本篇文章&#xff0c;我们挑选了10款功能强大又方便好用的在线画图软件&#xff0c;其中一定有…

E. Power of Points - 思维

分析&#xff1a; 题意本质就是找点在数组中任意一个位置时和所有的端点之间的距离和&#xff0c;但是直接暴力会超时&#xff0c;可以对数组排个序&#xff0c;设当前遍历的是xi&#xff0c;那么此时求的到各端点的距离就是j从1 ~ i - 1的所有端点与xi的距离之和&#xff0c;也…

07-3_Qt 5.9 C++开发指南_文件目录操作

文章目录 1. 文件目录操作相关的类2. 实例概述2.1 实例功能2.2 信号发射信息的获取 3. QCoreApplication 类4. QFile类5. QFileInfo类6. QDir类7. QTemporaryDir 和QTemporaryFile8. QFileSystemWatcher 类9. 框架和源码9.1 可视化UI设计9.2 dialog.cpp 1. 文件目录操作相关的类…

D. Weights Assignment For Tree Edges - 思维(树)

分析&#xff1a; 给出了父节点&#xff0c;要求到根节点的权重按p的顺序递增&#xff0c; 那么就可以从前往后一个一个赋值&#xff0c;依次加一&#xff0c;当时忽略了树的特性&#xff0c;忽略了节点之间的相互关系&#xff0c;WA了好几次&#xff0c;如果在进行依次递增赋值…

青大数据结构【2015】

一、单选 二、简答 5.如果一组关键字,以不同的次序输入后建立起来的二叉排序树是否相同?当中序遍历这些二叉排序树时,其遍历的结果是否相同?为什么? 不同,因为输入次序不同,所放置的位置与上一个结点有关,次序不同,二叉排序不同; 相同,中序遍历二叉树得到对应的关…

配置nginx服务端口时-在同一个页面中打开多个地址端口-查看服务情况

1&#xff1a;把代码保存到xxx.html文件中 2&#xff1a;因为一个个端口打开查看&#xff0c;实在太麻烦了 3&#xff1a;在一个页面中查看多页的响应才能提高测试效率 <html><head><title>本地连接列表</title> </head><body><cente…

10.Eclipse配置Tomcat详细教程、如何使用Eclipse+tomcat创建并运行web项目

一、Tomcat的下载官网 -> 进入官网显示如图所示的界面&#xff0c;在下下载的是Tomcat9.0版本&#xff0c;你可以自己选一款 点击然后进入下面这个界面 最好是在你的D盘建立一个文件夹&#xff0c;把它解压在里面&#xff0c;文件夹名自己来吧&#xff0c;自己能知道里面装…

MySQL8的特性-MySQL8知识详解

MySQL是一个多用户、多线程的SQL数据库服务器。SQL&#xff08;结构化查询语言&#xff09;是世界上最流行和标准化的数据库语言。下面是MySQL的特性。 1、开源性&#xff1a;MySQL是一个开源的关系型数据库管理系统&#xff0c;可以免费使用和修改。 2、可靠性&#xff1a;M…

网工内推 | 自动化企业招网工,包吃,最高15K,厂商认证优先

01 影儿集团 招聘岗位&#xff1a;网络工程师 职责描述&#xff1a; 1、负责公司及分支站点网络架构设计规划、组建、优化及日常运维管理工作&#xff1b; 2、负责公司网络安全、网络质量及网络和安全设备等检查与监控&#xff1b; 3、负责网络设备安全策略的配置及优化&#…

使用Java根据表名导出与导入Sql

前言 很粗糙啊&#xff0c;有很多可以优化的地方&#xff0c;而且也不安全&#xff0c;但是临时用还是OK的&#xff0c;我这个是公司里面的单机软件&#xff0c;不联网。 嗨&#xff01;我是一名社交媒体增长黑客&#xff0c;很高兴能帮助您优化和丰富关于批量作业导出和导入…

openlayers有哪些版本以及区别

vue3openlayer7 openlayer版本介绍 openlayer版本介绍 一、多个项目版本对比 官网首页罗列的几个版本&#xff1a; 包括&#xff1a;v7\v6\v5\v4\v3\v2 两年前使用v6.5.0 2023年7月版本是v7.4.0

CodeForces怎么查找一道题

直接先随便进入一道题的页面&#xff0c;然后改地址栏里面的网址!!! 例如 : 我们要找CF1A这道题的话, 先随便找一道你能看到的题目,如 : 然后将地址栏的158改成1,然后回车就好了

电影院订票选座网站小程序开发(java开源)

搭建一个电影院订票选座网站小程序需要掌握Java语言和相关的Web开发技术&#xff0c;同时需要使用开源框架和库来实现。以下是一个基本的步骤指南&#xff1a; 确定技术栈 首先&#xff0c;需要确定使用的技术栈&#xff0c;以便更好的开展工作。 设计数据库 设计数据库需要…

2023最新Windows编译ffmpeg详细教程,附msys2详细安装配置教程

安装MSYS2 msys2是一款跨平台编译套件&#xff0c;它模拟linux编译环境&#xff0c;支持整合mingw32和mingw64&#xff0c;能很方便的在windows上对一些开源的linux工程进行编译运行。 类似的跨平台编译套件有&#xff1a;msys&#xff0c;cygwin&#xff0c;mingw 优势&…

有人管一管小天才电话手表吗?

作者 | 张未 来源 | 洞见新研社 潮流果然是个圈&#xff0c;曾经风靡2008年的“摇一摇”重回我们的视野当中。 这个对于成年人有些过时的产物&#xff0c;以儿童手表为载体&#xff0c;正入侵着小学生的社交圈&#xff0c;成为儿童的“社交密码”。 “碰一碰”加好友&#x…

如何给a-table增加列宽拖动功能

对于table的列宽设置 相信用过的人都知道&#xff0c;想要设置得很完美&#xff0c;几乎是不现实的&#xff0c;因为总有数据或长或短&#xff0c;那我们应该如何优化它呢&#xff1f;那便是让用户自行拖动列宽&#xff0c;从而能看全table的数据&#xff0c;但是对于antd-vue …

Python进阶-模块和包/random/datetime/ pandas和DataFrame

Python进阶 1. 模块和包 2. random随机数 3. datetime日期模块 4. pandas和DataFrame 1. 模块和包 1.1 模块&#xff1a;就是一个以.py结尾的文件&#xff0c;模块中可以定义函数&#xff0c;类和变量&#xff0c;可执行的代码 Python模块分为&#xff1a;内置模块和第三方模…

利用OneNote文档投递Snake Keylogger的钓鱼活动分析

概述 近期&#xff0c;安天CERT监测到一起利用OneNote文档投递Snake Keylogger窃密木马的网络钓鱼活动。攻击者向用户发送钓鱼邮件&#xff0c;诱导用户打开附件中的OneNote文档&#xff0c;执行OneNote文档中隐藏在图片下方的恶意文件&#xff0c;从而在用户主机上运行Snake …

力扣每日一题(2023年8月) 更新中~

2023年8月——每日一题 1、8月6日 24. 两两交换链表中的节点 思路&#xff1a;直接模拟 使用虚拟头结点&#xff0c;初始时cur指向虚拟头结点&#xff0c;然后执行三步骤&#xff0c;具体见代码 C代码 /*** Definition for singly-linked list.* struct ListNode {* in…