maven是什么?安装+配置

news2024/11/24 1:55:08

目录

1.什么是maven?

1.2.maven的核心功能是什么?

2.Maven安装+配置

2.1Maven的安装

2.2Maven环境配置

1.配置 MAVEN_HOME ,变量值就是你的 maven 安装的路径(bin 目录之前一级目录)

2.将MAVEN_HOME 添加到Path系统变量 

3.  Maven 软件版本测试

4.配置settings.xml文件

 3.Maven仓库

3.1.仓库的分类:

4. 配置Eclipse环境

4.1入门案列

首先创建Maven项目

运行测试项目

5.最后输入结果:


1.什么是maven?

Apache Maven是个项目管理和自动构建工具,基于项目对象模型(POM)的概念。Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。

1.2.maven的核心功能是什么?

Maven的核心功能是合理叙述项目间的依赖关系,通俗点 就是通过pom.xml文件的配置获取jar包不用手动的去添加jar包,,这个pom.xml包我后面会叙述,不过已经学习过maven的 人应该对这个很熟悉。其本质就是通过配置pom.xml来获取jar包,当然这是在该项目必须是maven项目的前提下。


2.Maven安装+配置

2.1Maven的安装

使用 Maven 管理工具,我们首先要到官网去下载它的安装软件,然后才能安装,

将 Maven 解压到一个没有中文没有空格的路径下,比如:D盘下面。 解压后目录结构如下:

2.2Maven环境配置

1.配置 MAVEN_HOME ,变量值就是你的 maven 安装的路径(bin 目录之前一级目录)

2.将MAVEN_HOME 添加到Path系统变量 

3.  Maven 软件版本测试

win+R 打开dos窗口,通过 mvn -v命令检查 maven 是否安装成功

4.配置settings.xml文件


 3.Maven仓库

3.1.仓库的分类:

  • 中央仓库(http://search.maven.org/,http://www.mvnrepository.com/使用率高)
  • 公司仓库(也叫私人仓库或私服)
  • 本地仓库

      公司里面还会有一个大仓库(本地)全公司使用
     本地仓库程序员自己使用,私服全公司使用,中央仓库所有人用


4. 配置Eclipse环境

4.1入门案列

首先创建Maven项目

在eclipse存放项目的地方(基本在左侧," 窗口名称为:  Project Explorer ")

右键点击New,之后点击Other...在输入查找Maven Project,点击后按两次Next

将上面的改为本地路径设置,下面选择最后一个1.0的:

如图所示:

注意: 版本不能随意修改,在不了解每个版本的情况下

在第一次创建项目的时候会比较慢,因为首次需要把引用文件下载到本地路径来进行引用

如图:

 

完成以上操作后,项目目录结构就恢复正常了,之后我们了解一下每个目录文件的作用

运行测试项目

        接下来创建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</groupId>
  <artifactId>maven_01</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>maven_01 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_01</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.shenyan;

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 HelloMaven 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("hello shenyan ,yayay");
		req.getRequestDispatcher("/index.jsp").forward(req, resp);
		
	}
}

 接着到前台,需要改一些配置。

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

然后就可以写前台了

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
hello shenyan ,yayay
</body>
</html>

5.最后输入结果

 

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

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

相关文章

路由导航守卫中document.title = to.meta.title的作用以及路由跳转修改页面title

目录 &#x1f53d; document.title to.meta.title的作用 &#x1f53d; Vue路由跳转时如何更改页面title &#x1f53d; document.title to.meta.title的作用 路由导航守卫如下&#xff1a; router.beforeEach(async (to, from, next) > {document.title to.meta.ti…

“一日之际在于晨”,欢迎莅临WAVE SUMMIT上午场:Arm 虚拟硬件早餐交流会

8月16日&#xff0c;盛夏的北京将迎来第九届WAVE SUMMIT深度学习开发者大会。在峰会主论坛正式开启前&#xff0c;让我们先用一份精美的元气早餐&#xff0c;和一场“Arm虚拟硬件交流会”&#xff0c;唤醒各位开发小伙伴的开发魂&#xff01; 8月16日&#xff0c;WAVE SUMMIT大…

湘大 XTU OJ 1097 排序 题解:c++ 函数库的使用 快速排序 归并排序 冒泡排序

一、链接 1097 排序 二、题目 Description N个整数&#xff0c;将其排序输出。 输入 第一行是一个整数K&#xff08;1<K<20&#xff09;&#xff0c;表示有多少个样例&#xff0c;每个样例的第一行是一个整数N&#xff08;1<N<1,000&#xff09;和一个字符X&…

136.只出现一次的数字+26.删除有序数组中的重复项

目录 一、136.只出现一次的数字 二、代码 三、26删除有序数组中的重复项 四、代码 一、136.只出现一次的数字 136. 只出现一次的数字 - 力扣&#xff08;LeetCode&#xff09; 二、代码 交换律&#xff1a;a ^ b ^ c <> a ^ c ^ b 任何数与0异或为任何数 0 ^ n >…

第三篇|金融人数据来源有哪些

数据对于金融行业真的很重要&#xff0c;那么金融人有哪些途径查数据呢&#xff1f; 国内&#xff1a; 1. 国家统计局 这个应该是无论什么行业都使用最频繁的网站&#xff0c;每个月都会固定发上个月资产投资数据 、工业增加值和利润数据等常规数据&#xff0c;其他数据也会…

日常BUG—— maven编译报错

&#x1f61c;作 者&#xff1a;是江迪呀✒️本文关键词&#xff1a;日常BUG、BUG、问题分析☀️每日 一言 &#xff1a;存在错误说明你在进步&#xff01; 一、问题描述 一个maven项目在由于在代码中书写了如下代码&#xff1a; public static ConcurrentMap<…

若依如何使用(基本环境的配置)

本文章转载于公众号&#xff1a;王清江唷,仅用于学习和讨论&#xff0c;如有侵权请联系 QQ交流群&#xff1a;298405437 本人QQ&#xff1a;4206359 具体视频地址:8 跑后端_哔哩哔哩_bilibili 1、Ruoyi-Vue是什么&#xff1f; 借用官网原话来解释&#xff1a; 一直想做一款…

28.Netty源码之缓存一致性协议

Mpsc Queue 基础知识 Mpsc 的全称是 Multi Producer Single Consumer&#xff0c;多生产者单消费者。Mpsc Queue 可以保证多个生产者同时访问队列是线程安全的&#xff0c;而且同一时刻只允许一个消费者从队列中读取数据。 Netty Reactor 线程中任务队列 taskQueue 必须满足多个…

【input】关于input 元素的type类型及相关作用

传统类型&#xff1a; text&#xff1a;用于输入单行文本。 <input type"text" name"username">password&#xff1a;用于输入密码&#xff0c;输入的内容会被隐藏。 <input type"password" name"password">checkbox&a…

计算机网络 网络层 IPv4地址

A类地址第一位固定0 B类10 其下同理

matlab使用教程(13)—稀疏矩阵创建和使用

使用稀疏矩阵存储包含众多零值元素的数据&#xff0c;可以节省大量内存并加快该数据的处理速度。sparse 是一种属性&#xff0c;可以将该属性分配给由 double 或 logical 元素组成的任何二维 MATLAB 矩阵。通过 sparse 属性&#xff0c;MATLAB 可以&#xff1a; • 仅存储矩…

Vector - CAPL - 诊断模块函数(流控制帧续)

目录 CanTpGetFirstSequenceNumber & CanTpSetFirstSequenceNumber 代码示例 CanTpIsUseFlowControlSTmin & CanTpIsUseFlowControlSTmin & CanTpUseFlowControlSTmin CanTpIsUseFlowControlFrames & CanTpUseFlowControlFrames 代码示例 CanTpSetFlowC…

网神 SecGate 3600 防火墙任意文件上传漏洞

网神 SecGate 3600 防火墙任意文件上传漏洞 一、 产品简介二、 漏洞概述三、 影响范围四、 复现环境五、 漏洞复现PoC上传哥斯拉马子小龙POC检测: 六、 修复建议 免责声明&#xff1a;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具…

【网络编程·网络层】IP协议

目录 一、IP协议的概念 二、IP协议的报头 1、四位首部长度 2、16位总长度&#xff08;解包&#xff09; 3、8位协议&#xff08;分用&#xff09; 4、16位首部校验和 5、8位生存时间 6、32位源IP和32位目的IP 7、4位版本/8位服务类型 8、16位标识 9、3位标志 10、1…

聊一下互联网开源变现

(点击即可收听) 互联网开源变现其实是指通过开源软件或者开放源代码的方式&#xff0c;实现收益或盈利。这种方式越来越被广泛应用于互联网行业 在互联网开源变现的模式中&#xff0c;最常见的方式是通过捐款、广告、付费支持或者授权等方式获利。 例如&#xff0c;有些开源软件…

SQL | 排序检索的数据

3-排序检索的数据 使用order by语句排序检索到的数据。 3.1-排序数据 使用SQL语句返回一个数据表的列。 select prod_id from products; --------------------- | prod_name | --------------------- | 8 inch teddy bear | | 12 inch teddy bear | | 18 inch teddy bear |…

springboot开发的悠点装饰后台管理系统java公司装修设计jsp源代码mysql

本项目为前几天收费帮学妹做的一个项目&#xff0c;Java EE JSP项目&#xff0c;在工作环境中基本使用不到&#xff0c;但是很多学校把这个当作编程入门的项目来做&#xff0c;故分享出本项目供初学者参考。 一、项目描述 springboot开发的悠点装饰后台管理系统 系统有1权限&…

IPv4编址及子网划分

IPv4编址及子网划分 一、IPv4地址概述1.1、IPv4报文结构1.2、IPv4地址分类1.2.1、A类1.2.2、B类1.2.3、C类1.2.4、D类1.2.5、E类 1.3、私有IP地址1.4、特殊地址 二、子网划分2.1、子网掩码2.2、VLSM 可变长的子网掩码2.3、子网划分2.4、子网划分示例2.4.1、子网划分案例 —— A…

本地以图搜图软件xiSearch-flet

本地以图搜图软件xiSearch-flet 简介 使用 sentence_transformers flet 实现 项目地址&#xff1a;https://github.com/xjhqre/xiSearch-flet 使用说明 1、启动程序&#xff0c;进入设置页面&#xff0c;设置特征文件保存地址 2、进入特征提取页面&#xff0c;输入要提取…

7个顶级开源数据集来训练自然语言处理(NLP)和文本模型

推荐&#xff1a;使用 NSDT场景编辑器快速助你搭建可二次编辑的3D应用场景 NLP现在是一个令人兴奋的领域&#xff0c;特别是在像AutoNLP这样的用例中&#xff0c;但很难掌握。开始使用NLP的主要问题是缺乏适当的指导和该领域的过度广度。很容易迷失在各种论文和代码中&#xff…