十三、Maven(1)

news2024/12/22 18:16:20

🌻🌻目录

  • 一、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

在这里插入图片描述

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

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

相关文章

AI提示词投喂新手教程(一):基础概念和工具

对于很多已经熟悉提示词工程&#xff08;prompt engineering&#xff09;的朋友来说&#xff0c;以下内容可能已经是老生常谈了。然而&#xff0c;仔细搜索和翻阅了星球上关于提示词的新手教程&#xff0c;发现对新手并不是很友好&#xff0c;内容零散且缺乏系统性。为此&#…

Construct公司 从 0 到 1 基于 Kitex+Istio 的微服务系统建设

本文根据 2024 年 5 月 25 日在上海举办的“云原生✖️AI 时代的微服务架构与技术实践”CloudWeGo 技术沙龙上海站活动中&#xff0c;Construct 服务端总监 Jason 的演讲《从 0 到 1 基于 Kitex Istio 的微服务系统建设》整理而来。 在微服务架构的浪潮中&#xff0c;企业面临…

Android 通知组

一. 通知组简介 从 Android 7.0&#xff08;API 级别 24&#xff09;开始&#xff0c;您可以在一个组中显示相关通知。如下所示: 图 1. 收起&#xff08;顶部&#xff09;和展开&#xff08;底部&#xff09;的通知组。 注意 &#xff1a;如果应用发出 4 条或更多条通知且未…

【笔记】HashMap的头插死循环问题

HashMap头插死循环是指在JDK1.7中&#xff0c;多线程环境下&#xff0c;HashMap进行扩容时由于多个线程一起执行扩容&#xff0c;可能会导致某一结点被错误插入头部并形成一个循环链表。 发生死循环的源码如下&#xff1a; // hashmap由数组链表构成 void transfer(Entry[] ne…

【Micro-ROS学习】

Micro-ROS 是专为 ROS 2 设计的&#xff0c;它允许在微控制器&#xff08;microcontrollers&#xff09;上实现ROS 2的功能。Micro-ROS 从 ROS 2 架构优化而来&#xff0c;目的是让那些资源有限的嵌入式设备也能够接入ROS 2生态系统&#xff0c;享受ROS 2带来的标准化通信、模块…

放烟花短视频素材去哪里找?去哪里下载?烟花素材网分享

在当代社会&#xff0c;短视频凭借其独有的魅力成为大众传递情感、记录生活、分享快乐的新兴方式。特别是在庆祝节日和特殊时刻时&#xff0c;烟花的绚丽效果常常被用来吸引观众的目光&#xff0c;成为视频作品中的亮点。然而&#xff0c;对于短视频制作者来说&#xff0c;寻找…

【Web3】Web3.js 启动!并解决Web3 is not a constructor报错

苏泽 大家好 这里是苏泽 一个钟爱区块链技术的后端开发者 本篇专栏 ←持续记录本人自学智能合约学习笔记和经验总结 如果喜欢拜托三连支持~ 本节教大家如何启动Web3.js 目录 Web3 启动&#xff01; 于是很愉快的报错 创建实例&#xff01; 出来了 Web3&#xff1a;模块…

【工程实践】MQ中rebalance机制

问题起因&#xff0c;有些分区积压严重&#xff0c;有些分区又是空闲。之前了解过rebalance机制&#xff0c;想知道在这种情况下rebalance机制为什么不触发&#xff0c;从而将积压的数据匀给空闲的分区。 问了gpt&#xff0c;“mq的rebalance功能能否保证每个分区在同一时间段…

小型智能驱鸟器,建筑驱鸟专用

随着城市化进程的加快&#xff0c;鸟类与人类的居住空间逐渐交织重合&#xff0c;鸟类对建筑物的侵扰问题也愈发凸显。家庭庭院、住宅窗前、屋顶&#xff0c;甚至那些承载着历史与文化底蕴的名胜古迹和精美雕像&#xff0c;都时常受到鸟粪的污染。鸟粪具有腐蚀性且很难清理&…

【C++】STL-priority_queue

目录 1、priority_queue的使用 2、实现没有仿函数的优先级队列 3、实现有仿函数的优先级队列 3.1 仿函数 3.2 真正的优先级队列 1、priority_queue的使用 priority_queue是优先级队列&#xff0c;是一个容器适配器&#xff0c;不满足先进先出的特点&#xff0c;而是优先级高…

达梦数据库的系统视图v$database

达梦数据库的系统视图v$database 基础信息 OS版本&#xff1a; Red Hat Enterprise Linux Server release 7.9 (Maipo) DB版本&#xff1a; DM Database Server 64 V8 DB Version: 0x7000c 03134284132-20240115-215128-20081在达梦数据库&#xff08;Dameng Database&#xf…

前端基础--Vue2

前端技术发展史(了解) 1.前端历史 1.1.静态网页 1990 html 1.2.异步刷新-操作dom 1995 javascript 1.3.动态网站 Asp/jsp&#xff08;java&#xff09;,php等&#xff0c;后台臃肿 1.4.Ajax成为主流 异步请求 1.5.Html5 被认为是互联网的核心技术之一。HTML产生于19…

2021年12月电子学会青少年软件编程 中小学生Python编程等级考试三级真题解析(选择题)

2021年12月Python编程等级考试三级真题解析 选择题&#xff08;共25题&#xff0c;每题2分&#xff0c;共50分&#xff09; 1、小明在学习计算机时&#xff0c;学习到了一个十六进制数101,这个十六进制数对应的十进制数的数值是 A、65 B、66 C、256 D、257 答案&#xff…

算法08 广/宽度优先搜索及相关问题详解

这是《C算法宝典》算法篇的第08节文章啦~ 如果你之前没有太多C基础&#xff0c;请点击&#x1f449;专栏&#xff1a;C语法入门&#xff0c;如果你C语法基础已经炉火纯青&#xff0c;则可以进阶算法&#x1f449;专栏&#xff1a;算法知识和数据结构&#x1f449;专栏&#xff…

【LeetCode】八、堆的使用:第K个最大元素 + 前K和高频单词

文章目录 1、Java中的堆结构2、leetcode215&#xff1a;数组中的第K个最大元素3、leetcode692&#xff1a;前K个高频单词 1、Java中的堆结构 PriorityQueue类取堆顶元素删除堆顶元素堆的元素个数遍历堆 2、leetcode215&#xff1a;数组中的第K个最大元素 这题应该快排来解&…

2024年6月27日 (周四) 叶子游戏新闻

老板键工具来唤去: 它可以为常用程序自定义快捷键&#xff0c;实现一键唤起、一键隐藏的 Windows 工具&#xff0c;并且支持窗口动态绑定快捷键&#xff08;无需设置自动实现&#xff09;。 喜马拉雅下载工具: 字面意思 Steam国产“类8番”游戏《永恒逃脱&#xff1a;暗影城堡》…

Elasticsearch8.x聚合查询全面指南:从理论到实战

聚合查询的概念 聚合查询&#xff08;Aggregation Queries&#xff09;是Elasticsearch中用于数据汇总和分析的查询类型。它不同于普通的查询&#xff0c;而是用于执行各种聚合操作&#xff0c;如计数、求和、平均值、最小值、最大值、分组等。 聚合查询的分类 分桶聚合&…

web端使用HTML5开发《贪吃蛇》小游戏教程【附源码】

自制游戏列表 1植物大战僵尸自制HTML5游戏《植物大战僵尸》2开心消消乐自制HTML5游戏《开心消消乐》3贪吃蛇自制HTML5游戏《贪吃蛇》4捕鱼达人自制HTML5游戏《捕鱼达人》 一、游戏简介 贪吃蛇是一款经典的电子游戏&#xff0c;最早在1976年由Gremlin公司推出&#xff0c;…

牛筋面,一口难忘的劲道滋味

在众多的平凉美食中&#xff0c;牛筋面以其独特的口感和丰富的口味&#xff0c;赢得了无数食客的喜爱。牛筋面&#xff0c;这一名字就给人一种坚韧、有嚼劲的印象。它并非由牛筋制成&#xff0c;而是因其面条的口感如牛筋般劲道而得名。牛筋面的制作过程颇具巧思。选用优质的面…

Unity免费领高级可视化编程自定义节点工具AI行为UI流程对话树状态机逻辑等FlowReactor价值50刀high level20240627

刚发现一款类似虚幻蓝图的可视化编程工具&#xff0c;原价50刀&#xff0c;现在免费领取了。赶紧去领取入库&#xff0c;防止作者涨价。 高级可视化编程自定义节点工具&#xff1a;https://prf.hn/l/BJbdvnD 作者其他资产&#xff1a;https://prf.hn/l/YLAYznV Unity免费领高级…