十三、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 {@Testpublic 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.mzph.cn/news/862088.shtml

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

相关文章

选型手册:Bosch Sensortec 博世 微机电系统(MEMS)传感器和方案

前言 博世传感器公司&#xff08;Bosch Sensortec&#xff09; 是全球领先的微机电系统&#xff08;MEMS&#xff09;传感器和解决方案供应商。公司成立于2005年&#xff0c;是德国罗伯特博世有限公司&#xff08;Robert Bosch GmbH&#xff09;旗下的全资子公司。博世传感器公…

SpringBoot【3】集成 Swagger

SpringBoot 集成 Swagger 前言pom.xml 配置文件application.yml 配置文件config 包Swagger2Config entity 包UserEntity service 包impl 包SwaggerServiceImpl SwaggerService controller 包SwaggerController SwaggerApplication验证 前言 创建项目步骤、及版本选择等&#x…

展开说说:Android列表之RecyclerView

RecyclerView 它是从Android5.0出现的全新列表组件&#xff0c;更加强大和灵活。用于显示列表形式 (list) 或者网格形式 (grid) 的数据&#xff0c;替代ListView和GridView成为Android主流的列表组件。可以说Android客户端只要有表格的地方就有RecyclerView。 RecyclerView 内…

VCS编译bug汇总

‘typedef’ is not expected to be used in this contex 注册前少了分号。 Scope resolution error resolution : 声明指针时 不能与类名同名&#xff0c;即 不能声明为adapter. cannot find member "type_id" 忘记注册了 拼接运算符使用 关键要加上1b&#xff0…

[MySQL]购物管理系统—简略版

本文内容需以MySQL支持 特别感谢baidu comate AI提供的少量虚拟数据 0.建库(建立数据库——utf8字符集&#xff0c;utf8_general_ci排序规则) 1.此项目ER图如下 2.DDLDML(共九表&#xff0c;27数据) SET FOREIGN_KEY_CHECKS 0;DROP TABLE IF EXISTS goods; CREATE TABLE g…

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

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

【公开数据集获取】

Open Images Dataset https://www.youtube.com/watch?vdLSFX6Jq-F0

【M365运维】Outlook和Teams里不显示用户的组织架构

【问题】 由于一些误操作&#xff0c;把用户账户禁用并重新启用后&#xff0c;发现在Outlook和Teams里无法查看用户的组织结构图了。如下图所示&#xff1a; - 在Outlook 里&#xff0c;用户标签页的组织一直显示“正在加载..."&#xff0c;成员身份也是“找不到任何组。…

【GD32】08 - IIC(以SHT20为例)

GD32中的IIC 今天来了解一下GD32中的硬件IIC&#xff0c;其实我个人是觉得软件IIC比较方便的&#xff0c;不过之前文章里用的都是软件IIC&#xff0c;今天就算是走出自己的舒适圈&#xff0c;我们来了解了解GD32中的硬件IIC。 我这里用的型号是GD32F407&#xff0c;不同型号的…

等保测评初级简答题试题

基本要求&#xff0c;在应用安全层面的访问控制要求中&#xff0c;三级系统较二级系统增加的措施有哪些&#xff1f; 答&#xff1a;三级比二级增加的要求项有&#xff1a; 应提供对重要信息资源设置敏感标记的功能&#xff1b; 应按照安全策略严格控制用户对有敏感标记重要…

策略模式和状态模式

策略模式 在上下文中携带策略接口作为成员变量&#xff0c;在使用上下文之前需要设置策略setStrategy&#xff08;&#xff09;&#xff0c;然后使用策略接口成员变量来进行策略的执行。 步骤1&#xff1a;定义策略接口 // 策略接口 public interface Strategy {int execut…

干涉阵型成图参数记录【robust】

robust 这个玩意经常忘记&#xff0c;就是取2的时候是更加显示大尺度的结构&#xff0c;取-2更加显示小尺度结果&#xff0c;一般取0就是正常就好了

【Hive中常见的优化手段----数据采集!Join 优化!Hive索引!数据倾斜!mapreduce本地模式!map和reduce数量调整!】

前言&#xff1a; &#x1f49e;&#x1f49e;大家好&#xff0c;我是书生♡&#xff0c;今天主要和大家分享一下Hive中常见的优化手段----数据采集&#xff01;常见的Join 优化有哪几种&#xff01;什么是Hive索引&#xff01;数据怎么发生倾斜&#xff01;什么是mapreduce的本…

力扣每日一题 6/24 模拟 数组 单调栈

博客主页&#xff1a;誓则盟约系列专栏&#xff1a;IT竞赛 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ 503.下一个更大元素II 【中等】 题目&#xff1a; 给定一个循环数组 nums…

使用原子子表创建可重用的子组件

原子子表是一个图形对象&#xff0c;可帮助您在Stateflow图表中创建独立的子部件。原子子表允许&#xff1a; 对具有多个状态或层次结构的图表进行微小更改后&#xff0c;模拟速度更快。 在多个图表和模型中重复使用相同的状态或子表。 易于团队开发&#xff0c;适用于在同一图…

Python网络爬虫实战6—下一页,模拟用户点击,切换窗口

【前期提要】感兴趣的可以看看往期文章哈~ Python网络爬虫5-实战网页爬取 Python网络爬虫4-实战爬取pdf Pyhon网络爬虫3-模拟用户点击 Python网络爬虫实战2-下载url下的pdf Python网络爬虫基础1 1.需求背景 针对长虹美菱电器说明书网页形式&#xff0c;编写爬虫代码&#xff…

【财务数字化转型之底座】集团企业财务数据中台系统建设方案

引言&#xff1a;随着企业规模的不断扩大和业务的复杂化&#xff0c;传统的财务管理模式已难以满足集团企业的数据整合、分析和决策需求。因此&#xff0c;建设一个高效、稳定、安全的财务数据中台系统&#xff0c;成为集团企业数字化转型的重要一环。本方案旨在构建一个集数据…

算力服务先锋!和鲸科技入选《2024中国智算产业生态图谱》

2024 年 6 月 18 日&#xff0c;由科智咨询发起的《2024中国智算产业生态图谱》正式发布&#xff0c;依托 ModelWhale 构建的智算算力资源服务&#xff0c;以及深耕多年的 ModelWhale 数据科学协同平台优势&#xff0c;和鲸科技成功入选。 “智算时代”技术不断进步&#xff0c…

指针并不是用来存储数据的,而是用来存储数据在内存中地址(内存操作/函数指针/指针函数)

推荐&#xff1a;1、4、5号书籍 1. 基本概念 首先&#xff0c;让小明了解指针的基本概念&#xff1a; 指针的定义&#xff1a;指针是一个变量&#xff0c;它存储的是另一个变量的地址。指针的声明&#xff1a;例如&#xff0c;int *p表示一个指向整数的指针变量p。 2. 形象…

生命在于学习——Python人工智能原理(2.6.1)

六 Python的文件系统 6.1 打开文件 在Python中&#xff0c;可以使用内置的open函数来打开文件&#xff0c;open函数的基本语法如下&#xff1a; file open(file_name, moder, buffering-1, encodingNone, errorsNone, newlineNone, closefdTrue, openerNone)参数说明&#…