Maven的入门级——介绍,安装,导入项目,全网最最详细教程!!,包含可能会包的错误的已经指出来了

news2024/11/23 19:34:45

目录

一.Maven的基本介绍

 二.  Maven的使用过程

使用步骤:

三.Maven的安装

        3.1 下载

         3.2 配置环境步骤

 3.3配置settings.xml文件

四.入门案列

        4.1 配置Eclipse环境

        4.2 介绍Maven项目的结构

         4.3 运行测试项目


一.Maven的基本介绍

        我们可以知道在程序员做项目的时候,我们会运用到多个框架,那么框架所需要的架包,就会非常可能出现架包重复等其他因素,而且我们所需要的架包需要去网上一个一个的找资料,而且会出现版本冲突,这样不仅麻烦还耗时间,而Maven就刚好解决了这些问题,不需要去网上一个一个的找,也不会出现架包重复的问题

     1.   Maven是一种用于构建和管理Java项目的强大工具。它提供了一个标准化的项目结构,可以帮助开发者自动化构建、测试和部署项目,并管理项目所需的依赖关系。使用Maven,开发者可以通过简单的配置文件定义项目的结构、依赖关系和构建过程。

      2.  Maven使用项目对象模型(Project Object Model,POM)来描述项目。POM是一个XML文件,定义了项目的元数据、依赖关系、构建配置等信息。通过指定项目依赖和插件,Maven可以自动下载所需的库文件,并在构建时自动解决依赖关系。

      3.  Maven提供了一系列标准的生命周期阶段(如编译、测试、打包、部署等),开发者可以根据需要执行相应的命令来完成特定的构建任务。Maven还支持丰富的插件生态系统,开发者可以使用插件扩展项目构建功能。

      4.  总之,Maven是一个强大的构建工具,它简化了Java项目的构建和管理过程,提高了开发效率。


 二.  Maven的使用过程

这里给大家介绍3个仓库:

  • mvnrepository:中央仓库
  • 私服(私人服务器):阿里云仓库
  • 私人电脑:本地仓库

使用步骤:

  1. 我们通过中央仓库地址mvnrepository.com  获取pom依赖字符串
  2. 讲字符串粘贴到maven工程的指定文件pom.xml中
  3. 从中央仓库将指定公司,项目,版本下载下来,下到本地仓库
  4. 将本地的 jar 在工程中进行引用

三.Maven的安装

        3.1 下载

        登入这个网站选择所需的版本下载解压即可

Maven – Download Apache Mavenhttp://maven.apache.org/download.cgi

 

         3.2 配置环境步骤

        第一步:          新建一个MAVEN_HOME,输入下载文件bin目录的路径即可     

   第二步:点击Path每个人的电脑名字都不一样,根据自己来

        

 

 第三步:测试即可,打开cmd 输入mvn -version 出来一下代码即操作正确,并且配置成功!!!

 3.3配置settings.xml文件

第一步:找到下方的这行代码,然后将它进行改变

 

         第二步:换成第二张图片这样

 

四.入门案列

        4.1 配置Eclipse环境

    新增下载的路径,然后点击finish,最后勾选即可

然后只需要等待完成即可

 配置好之后,在eclipse创建一个Maven项目即可

        4.2 介绍Maven项目的结构

 创建项目之后,项目的结构不全,我们点击Build Path,取消全选即可

这样项目结构就是完全的啦!

 

 下面是项目结构存放的文件

         4.3 运行测试项目

        接下来创建web层演示项目,可以看到这个类继承不了httpServlet,

 这样我们要先去配置web.xml文件,换成3.1的版本

 

接着配pom.xml文件将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>maven</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>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>maven</finalName>
    <plugins>
    <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>

运行之后再自己创建的文件夹里面会出现

然后来测试一下pom.xml文件编译是否通过

 会出现两种结果:

编译通过则会出现BUILD SUCCESS

 编译不通过,则会出现:BUILD FAILURE,那就是pom.xml有问题,哪个包没有下完全,那就一个个测试,重新下载

接下来,我们就开始写后台代码

package com.yinzi.web;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/hello")
public class HelloMavenServlet extends HttpServlet{

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		
		this.doPost(req, resp);
	}
	
	
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		System.out.println("我进入了servlet");
	req.getRequestDispatcher("/test.jsp").forward(req, resp);
	
	}
	
}

 然后前台,我们还需要改变一下配置

 然后还需要将这个路径改一下,不然查不到JSP界面

 这样就可以啦,编写前台代码

最后,运行就可以啦!

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

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

相关文章

ngrok内网穿透可以实现资源共享吗?快解析更加简洁

随着互联网的高速发展&#xff0c;越来越多的人开始意识到内网穿透技术的重要性。在这一技术中&#xff0c;ngrok已经成为了一个备受关注的工具。然而&#xff0c;很多人对于ngrok是否可以进行资源共享存在疑问。本文将从新的角度出发&#xff0c;深入探讨这个问题。 了解什么…

SAP使用函数NUMBER_GET_NEXT创建流水号

1. 系统中设定流水号&#xff1b;使用T-Code&#xff1a;SNRO来创建一个流 输入Object&#xff1a;ZLC_001&#xff0c;然后单击创建。 然后输入Shorttext, Long text, Number length domain在写程序的时候应该会另外创建&#xff0c;这里测试就使用料号的Domain MATNR来做,其他…

Mahout教程_编程入门自学教程_菜鸟教程-免费教程分享

教程简介 Mahout 是 Apache Software Foundation&#xff08;ASF&#xff09; 旗下的一个开源项目&#xff0c;提供一些可扩展的机器学习领域经典算法的实现&#xff0c;旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout包含许多实现&#xff0c;包括聚类、分类、推荐…

利用PHP的特性做免杀Webshell

0x01 前言 最近很多家厂商都陆续开放了自己的Webshell检测引擎&#xff0c;并且公开接口&#xff0c;邀请众安全研究员参加尝试bypass检测引擎&#xff0c;并且给予奖励&#xff0c;我也参加了几场类似的活动&#xff0c;有 ASRC 的 伏魔计划 &#xff0c;也有 TSRC 的 猎刃计…

8月盛夏相约|上海国际智能家居展SSHT 精彩亮点抢先看

上海国际智能家居展览会&#xff08;SSHT&#xff09; 2023年8月29至31日 上海新国际博览中心举行 SSHT 作为国内专业智能家居展会&#xff0c;定位为“智能家居技术的行业平台”&#xff0c;以“技术整合”及“跨界合作”为主轴&#xff0c;旨在呈现不同层面的智能家居技术如…

计算机基础知识一

1、计算机系统组成 1.1 硬件 CPU&#xff1a;中央处理器、计算机核心部件、负责计算任务 内存&#xff1a;记忆功能、存储二进制数&#xff0c;内存是一个字节一个地址。 内存大小换算&#xff1a; 8 bits 1 Byte 1024 Bytes Bytes 1 KB &#xff0c; 1024 KB KB 1 …

妙盈面试(部分)

算法题1&#xff0c;二分查找即可&#xff1a; git rebase算法题2&#xff0c;求二叉树两结点的最小公共祖先 搞笑的是&#xff0c;第2道算法题我刚开始做&#xff0c;黑屏了两秒钟&#xff0c;当时其实腾讯会议软件已经崩溃了&#xff0c;但是我没注意到而是继续做题。等到做…

openGauss学习笔记-36 openGauss 高级数据管理-TRUNCATE TABLE语句

文章目录 openGauss学习笔记-36 openGauss 高级数据管理-TRUNCATE TABLE语句36.1 语法格式36.2 参数说明36.3 示例 openGauss学习笔记-36 openGauss 高级数据管理-TRUNCATE TABLE语句 清理表数据&#xff0c;TRUNCATE TABLE用于删除表的数据&#xff0c;但不删除表结构。也可以…

易大师运势测算网站源码含视频搭建教程

微信/支付宝支付、海外paypal支付、积分支付、VIP免支付&#xff0c;易支付&#xff0c;码支付。 对接真人服务、完善的分销功能、支持设置一二多级分成比例、微信/QQ登陆、注册送积分设置。 推广链接被访问送积分设置&#xff0c;海报推广功能、完善的推广机制&#xff0c;可…

MES系统应该涵盖那些功能

导 读 ( 文/ 1497 ) MES系统是专门面向生产环节的软件系统&#xff0c;用于管理、监控原材料转化为中间产品以及成品的过程。尽管市面上有着不同类别、覆盖不同行业的MES系统&#xff0c;但它们都具有一些基本特征&#xff0c;即包括产品文档管理、物料管理、生产执行管理…

CVE-2021-26411在野样本中利用RPC绕过CFG缓解技术的研究

浏览器渲染进程漏洞利用的一般思路是&#xff1a;在利用漏洞获得用户态任意地址读写权限后&#xff0c;通过篡改DOM、js等对象的虚表函数指针劫持程序执行流&#xff0c;通过ROP链调用VirtualProtect等Win32 API&#xff0c;修改保存shellcode buffer的内存属性为PAGE_EXECUTE_…

将matlab中工作区的数据保存为.mat文件及加载.mat数据

将matlab工作区中的数据保存为.mat文件 如数据a a[1 1 2 3 2 4];一、工作区数据 二、保存为.mat文件 利用save保存数据a到data.mat文件中 save(data.mat,a);三、加载数据 Iload(data.mat)

lc18.四数之和

三数之和的延申&#xff0c;四数之和&#xff1a;两层外层for循环双指针 时间复杂度&#xff1a;O(n3) 空间复杂度&#xff1a;O(1) import org.junit.Test;import java.util.ArrayList; import java.util.Arrays; import java.util.List;public class FourSum {Testpublic v…

Centos7.9安装lrzsz进行文件传输---Linux工作笔记059

这里咱们lrzsz命令,需要用来进行文件传输,因为如果不安装这个命令的话,那么 传输安装包什么的就不方便因为只有少数传输工具,才支持,直接拖拽的.没有的时候就可以用这个工具,用命令来传输 直接就是: sz 文件名 就可以把文件下载下来 rz 选择一个文件, 就可以把文件上传到当…

Spring Cloud构建微服务断路器介绍

什么是断路器 断路器模式源于Martin Fowler的Circuit Breaker一文。“断路器”本身是一种开关装置&#xff0c;用于在电路上保护线路过载&#xff0c;当线路中有电器发生短路时&#xff0c;“断路器”能够及时的切断故障电路&#xff0c;防止发生过载、发热、甚至起火等严重后果…

电脑开机出现Boot Device怎么办?

开机出现Boot Device这个问题很常见&#xff0c;有时还会出现No Boot Device的问题&#xff0c;虽然多了一个单词&#xff0c;但意思是相同的&#xff0c;这些问题说明你的系统盘出现了问题&#xff0c;或者是引导出现了问题。这该如何解决呢&#xff1f; 方法1. 检查主板或硬盘…

主数据管理案例-某政务

1、 背景介绍及难点分析 近年来&#xff0c;我国在大数据发展方面持续发力&#xff0c;取得了明显成效。但也要看到&#xff0c;目前我国大数据发展还存在“孤岛化”“碎片化”等问题&#xff0c;无序参与过度与创新参与不足并存&#xff0c;导致大数据资源配置统筹不&#xff…

Client not connected, current status:STARTING

今天项目集成Seata时遇到一个奇怪的异常&#xff0c;在此记录一下。 Linux环境安装Seata&#xff0c;使用Nacos作为配置中心、注册中心&#xff1b; Linux已开放端口&#xff1a;8848、7091、8091 在我Windows环境下可以看到Nacos运行正常&#xff0c;Seata运行也正常&#…

SOLIDWORKS工程图模板制作

为什么要制作工程图模板 SOLIDWORKS软件以其优良的技术和市场表现&#xff0c;成为CAD领域一颗耀眼的明星&#xff0c;拥有强大的功能。为了实现更规范、更快捷、更方便、更准确的绘图&#xff0c;制作工程图模板是必要的。SolidWorks工程图的优势在于零件模型的尺寸与工程图相…

火山引擎联合Forrester发布《中国云原生安全市场现状及趋势白皮书》,赋能企业构建云原生安全体系

国际权威研究咨询公司Forrester 预测&#xff0c;2023年全球超过40%的企业将会采用云原生优先战略。然而&#xff0c;云原生在改变企业上云及构建新一代基础设施的同时&#xff0c;也带来了一系列的新问题&#xff0c;针对涵盖云原生应用、容器、镜像、编排系统平台以及基础设施…