十三、Maven(1)

🌻🌻目录

  • 一、maven价绍
  • 二、maven的功能
    • 1、项目自动化构建
    • 2、管理jar、war包
    • 3、实现项目结构设计
  • 三、maven安装
    • 1、maven的安装环境需要jdk
    • 2、Maven的安装路径中不能出现中文和空格
    • 3、压缩包解压即可
    • 4、配置环境变量
  • 四、maven的仓库
    • 1. Maven仓库配置
    • 2. Maven镜像配置
  • 五、入门案例
  • 六、eclipse中创建maven项目
    • 1.创建maven项目01——jar
    • 2.创建maven项目02——war
  • 七、使用maven创建web工程并自动部署到Tomcat中

一、maven价绍

在这里插入图片描述

  1. Maven是一个项目的自动化构建工具
  2. 什么是构建?

是指由项目的原材料(Java源程序-源文件,静态资源-HTML、css、js、img、xml,jsp等)去生成可以被使用的项目的过程。
先准备好了的原材料(程序员准备,Maven不能实现原材料准备),有了原材料之后,实现可以使用的项目操作Maven可以完成,完成过程是自动化实现,给Maven一个命令,工具就可以根据给出的命令实现相应的功能

  1. 构建实现什么?主要的环节

在构建的过程中,有一些主要环节

1)清理mvn clean :是指把原来Java源程序生成的字节码文件删除,为下一次重新编译做准备
2)编译mvn compile :由Java源程序生成字节码文件,是main中的java源程序编译
3)测试mvn test :对Java程序进行测试
4)报告mvn report :对测试结果进行记录
5)打包mvn package :把项目打包,生成压缩包,Java项目生成jar包,web项目生成war包
6)安装mvn install :把项目生成的包,复制到Maven仓库中去的过程
7)部署mvn deploy :把项目部署到服务器,能够访问的过程

二、maven的功能

1、项目自动化构建

2、管理jar、war包

3、实现项目结构设计

三、maven安装

1、maven的安装环境需要jdk

2、Maven的安装路径中不能出现中文和空格

3、压缩包解压即可

4、配置环境变量

下载:

(1) 官网

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(2) 本地获得

解压如下到指定磁盘

在这里插入图片描述

开始安装:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

测试 mvn -version

在这里插入图片描述

四、maven的仓库

在这里插入图片描述

1、存放的是jar包或者war包,这些包有当前项目需要的jar包,还有当前项目生成的包
2、Maven仓库有三种:本地库(当前计算机中的maven仓库),私服(当前计算机所在的局域网的仓库,同一个局域网中的计算机可以访问的仓库),中央库–镜像库(网络中的仓库)
中央库—全世界maven库的中心
镜像库—中央库的副本
3、各种库的设置

  • 1)本地库设置—如果不设置,那么本地库在当前计算机登录用户家目录-.m2文件夹-repository文件夹
    本地库的修改,在maven-conf文件夹的settings.xml中设置
  • 2)私服设置(关于私服)
  • 3)中央库,如果不设置镜像库那么默认到中央库下载jar包;设置了镜像库就会到镜像库下载jar包
    在settings.xml中设置镜像库—如果设置了镜像库,保证网络是正常的

1. Maven仓库配置

在这里插入图片描述

2. Maven镜像配置

镜像:
阿里镜像:

<mirror>
    <id>alimaven</id>
    <mirrorOf>central</mirrorOf>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>

华为镜像:

<mirror>
	 <id>huaweicloud</id>
	 <mirrorOf>*</mirrorOf>
	 <url>https://mirrors.huaweicloud.com/repository/maven/</url>       
	 </mirror> 
</mirrors>

在这里插入图片描述

五、入门案例

  • 1)准备原材料—只准备java源程序,以及项目的目录约束
  • 2)使用mvn命令实现构建
  • 3)执行构建环节中的靠后的命令的时候,靠前的命令会自动执行

六、eclipse中创建maven项目

maven工具缺陷是不能准备原材料,eclipse的缺陷是不能自动化,所以把两个工具整合;

Window-preferences-maven:设置installations和user settings

File—new—project—maven project
创建一个简单项目,下一步

在这里插入图片描述
在这里插入图片描述

1.创建maven项目01——jar

在这里插入图片描述

需要设置组名、项目名、版本号、什么项目

  • Group id设置组名—一般是域名倒置格式
  • Artifact id设置项目名
  • Version设置版本号
  • Packaging设置是java项目还是web项目或者父项目

在这里插入图片描述
项目结构如下:

在这里插入图片描述

<dependencies>
	<dependency>
		<groupId>junit</groupId>
		<artifactId>junit</artifactId>
		<version>4.12</version>
		<scope>test</scope>
	</dependency>
</dependencies>

创建类(com.geli.controller.PersonController):

在这里插入图片描述

PersonController.java

在这里插入图片描述

package com.geli.controller;

public class PersonController {
	
	public void save() {
		
		System.out.println("user----------------person");
	}

}

创建测试类(com.geli.test.Test):
在这里插入图片描述

在这里插入图片描述

package com.geli.test;

import org.junit.Test;

import com.geli.controller.PersonController;

public class Test11 {
	
	@Test
	public void test1() {

			PersonController ps = new PersonController();
			
			ps.save();
	}
}

在这里插入图片描述

2.创建maven项目02——war

在这里插入图片描述

报错的原因是没有web.xml

在默认情况下,由maven创建的web项目中是没有WEB-INF和web.xml的,相当于web项目没有标志

在这里插入图片描述

(1) 直接创建或复制

在这里插入图片描述

(2) 项目——Java EE Tools床架

在这里插入图片描述

(3) 项目——配置里面创建

在这里插入图片描述

在这里插入图片描述

七、使用maven创建web工程并自动部署到Tomcat中

自动部署到tomcat,下面在web项目中的pom.xml中定义,build如下代码copy到pom.xml就可以了:

在这里插入图片描述

<build>
	<finalName>day10-maven-02</finalName>
	<plugins>
		<plugin>
			<groupId>org.codehaus.cargo</groupId>
			<artifactId>cargo-maven2-plugin</artifactId>
			<version>1.6.4</version>
			<configuration>
				<container>
					<containerId>tomcat8x</containerId>
					<home>D:\develop\apache-tomcat-8.5.37</home>
				</container>
				<configuration>
					<type>existing</type>
					<home>D:\develop\apache-tomcat-8.5.37</home>
				</configuration>
			</configuration>
			<executions>
				<execution>
					<id>cargo-run</id>
					<phase>install</phase>
					<goals>
						<goal>run</goal>
					</goals>
				</execution>
			</executions>
		</plugin>
	</plugins>
</build>
  1. 先进行安装:

在这里插入图片描述

2.使用cargo:run命令进行构建

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  1. 创建index.html再进行安装构建后可以访问到

在这里插入图片描述

http://localhost:8080/day10-maven-02

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

矩阵新玩法,云微客AI矩阵系统开启新营销大门

在激烈的市场竞争中&#xff0c;商家企业们都在追求更加高效的营销方式&#xff0c;在如今流量至上的时代&#xff0c;短视频凭借其魅力&#xff0c;成为了众多企业吸引流量、获客引流的核心营销途径。而想要挤进短视频流量圈的你&#xff0c;是否经常听到矩阵这个词呢&#xf…

PY32F003系列单片机,超值国产32位单片机,资料齐全 易于开发

PY32F003 系列微控制器是采用高性能的 32 位 ARM Cortex-M0 内核&#xff0c;宽电压工作范围的 MCU。嵌入高达 64 Kbytes flash 和 8 Kbytes SRAM 存储器&#xff0c;最高工作频率 32 MHz。包含多种不同封装类型多款产品。 PY32F003 系列微控制器的工作温度范围为 -40 ~ 85 ℃…

oceanbase数据库安装和连接实战(阿里云服务器操作)

本文主要是安装oceanbase的单机版进行数据库的基础使用&#xff0c;oceanbase的数据库是兼容mysql数据库的&#xff0c;实际的兼容程度需要更深度的测试&#xff0c;本文主要是安装oceanbase并使用SQLynx的mysql驱动连接使用oceanbase数据库。 目录 1. 基础介绍 2. 安装说明 …

gdb用法

创建文件 // main.cpp文件 // 稳态误差 void pid_test_wentaiwucha() {float p 1.5;int t 1; // t 1s;int target 5; // 5m/sfloat output 0;float radis 3; // 稳态误差std::cout << "output: " << std::endl;fo…

PT100(RTD)是什么?2线,3线,4线原理

RTDs - or Resistance Temperature Detectors- (电阻式温度探测器)&#xff0c;是温度型传感器&#xff0c;包含一个电阻&#xff0c;这个阻值可以随温度的变化而变化。在工业的进程中和实验室里已经使用了很多年&#xff0c;以精确&#xff0c;可靠和稳定的特性。 2线制 2线制…

.net core接入nacos注册服务并使用配置中心

1、安装依赖 Nuget包&#xff1a;nacos-sdk-csharp.Extensions.Configuration和nacos-sdk-csharp.AspNetCore 2、在appsettings.json中配置 "nacos": {"ServerAddresses": ["http://localhost:8848/"],"DefaultTimeOut": 15000,"…

前端vue-cli相关知识与搭建过程(项目创建,组件路由)very 详细

一.关于vue-cli 1.什么是vue Vue (读音 /vju ː /&#xff0c;类似于 view) 是一套用于构建用户界面的渐进式框架。Vue 的核心库只关注视图层&#xff0c;不仅易于上手&#xff0c;还便于与第三方库或既有项目整合。 Vue.js 是前端的主流框架之一&#xff0c;和 Angular.js…

【财经研究】并购重组的“不可能三角”

伴随着沪深IPO景气度下滑后&#xff0c;并购重组正受到市场的关注。 近期监管层正频频为并购重组发声 6月20日&#xff0c;证监会主席吴清在陆家嘴论坛上指出&#xff1a;“支持上市公司运用各种资本市场工具增强核心竞争力&#xff0c;特别是要发挥好资本市场并购重组主渠道作…

python 识别图片点击,设置坐标,离设置坐标越近的优先识别点击

import pyautogui import cv2 import numpy as np import mathdef find_and_click(template_path, target_x, target_y, match_threshold0.8):"""在屏幕上查找目标图片并点击。Args:template_path: 目标图片的路径。target_x: 预设的坐标 x 轴值。target_y: 预设…

使用 Google Gemini 和 SwiftUI 构建 AI 图像识别应用程序

在本教程中,我们将演示如何使用 Google Gemini API 进行图像识别。这个简单的应用程序允许用户从他们的照片库中选择一张图片,并使用 Gemini 描述照片的内容。 在继续本教程之前,请访问Google AI Studio并创建您自己的 API 密钥(如果您还没有这样做)。 在 Xcode 项目中添…

AcWing算法基础课笔记——最短Hamilton路径

最短Hamilton路径 题目 给定一张 n 个点的带权无向图&#xff0c;点从 0~n-1 标号&#xff0c;求起点 0 到终点 n-1 的最短Hamilton路径。 Hamilton路径的定义是从 0 到 n-1 不重不漏地经过每个点恰好一次。 输入格式 第一行输入整数n。 接下来 n 行每行n个整数&#xff0c…

CCSP自考攻略+经验总结

备考攻略 备考攻略准备阶段通读阶段精度阶段总复习阶段刷题阶段命运审判 写到最后 备考攻略 趁着对ssp知识点的理解还在&#xff0c;开始ccsp的考证之路&#xff0c;文章结构还是按照cissp备考篇的结构梳理。本次备考和cissp的离职在家备考不同&#xff0c;ccsp是在职利用非工…

通过命令行配置调整KVM的虚拟网络

正文共&#xff1a;1234 字 20 图&#xff0c;预估阅读时间&#xff1a;2 分钟 在上篇文章中&#xff08;最小化安装的CentOS7部署KVM虚拟机&#xff09;&#xff0c;我们介绍了如何在最小化安装的CentOS 7系统中部署KVM组件和相关软件包。因为没有GUI图形界面&#xff0c;我们…

python pyautogui.position实时输出坐标

import pyautogui import timewhile True:# 获取鼠标当前坐标x, y pyautogui.position()# 打印坐标print(f"当前坐标&#xff1a;({x}, {y})")# 暂停1秒time.sleep(1) 输出实时鼠标位置坐标

计算机等级考试二级Java-第一篇:Java语言概述

1.java语言的历史和发展 1991年由sun公司的James Gosling负责开发的&#xff0c;一个分布式代码系统&#xff08;Oak),最初是为家用消费电子产品&#xff08;电冰箱&#xff0c;电视机等&#xff09;进行编程&#xff0c;它是java语言的前身。 1994年sun公司件目标市场转向In…

仓库管理系统13--物资设置

1、添加窗体 2、设计UI界面 注意这个下拉框的绑定&#xff0c;你看到的选项是由displaymember决定&#xff0c;当你选择了哪个选项时&#xff0c;后台绑定这个选项的ID <UserControl x:Class"West.StoreMgr.View.GoodsView"xmlns"http://schemas.microsoft…

Discourse OpenAI 生成图片

正如一些讨论的&#xff0c;生成图片是比较贵的。 差不多到了 1 元 一张图了。 就 OpenAI 生成了上面 4 张图&#xff0c;费用 0.4 美元。 Discourse OpenAI 生成图片 - Discourse - iSharkFly

SSZipArchive 解压后 中文文件名乱码问题

不知道什么情况&#xff0c;做为一个三方广泛使用的框架库&#xff0c;会出现这种比较低级的问题&#xff01; 还有中文的文件名解压后显示乱码&#xff01; 经过深入研究排查&#xff0c;发现目录或文件名编码错误&#xff01;但是POD库&#xff0c;不可能直接在里面改&#…

上市公司银行专利申请数据集(2003-2022年)

数据简介&#xff1a;上市商业银行的专利申请数据是可作为金融科技创新水平的关键指标&#xff0c;这些数据反映了银行在金融技术领域的创新能力。发明专利因其创新性、技术深度和行业代表性&#xff0c;被赋予了特别的重视。遵循郭晔等人(2022)的研究方法&#xff0c;使用国家…

算法力扣刷题记录五【59.螺旋矩阵II】

前言 第五篇&#xff0c;继续。 力扣【59】&#xff1a;螺旋矩阵II &#xff08;Hint: 我认为blog记录得到最终代码的过程&#xff0c;所以有些代码片是逻辑错误&#xff08;会标明“有错”&#xff09;&#xff0c;体现改进&#xff0c;所以阅读时请不要错位&#xff0c;或复…