第二章 使用Maven:IDEA环境

news2024/12/23 9:41:01

前一章是在命令行环境下用Maven,也是为我们之后的操作打一个基础,但我想了一下,以后应该用得不多,所以这里就跳过了,直接学在IDEA中Maven的使用

我这里就直接简化笔记了,只把知识大致的整体架构写出来

一.创建父工程

①创建 Project

这里可能由于idea版本不同,导致一些操作不一致

②开启自动导入

新版的IDEA为了防止 pom 更新时,MAVEN 自动导包卡死的问题,取消了自动导包机制。但新增了导入按钮和快捷键

目前手动maven有两种快捷方式

1>pom文件更改后,点击右上角出现的按钮 

 

2>快捷键的方式

windows和Linux的快捷键Ctrl+Shift+O

Max的快捷键Shift+Cmd+l

二.配置Maven信息

每次创建 Project 后都需要设置 Maven 家目录位置,否则 IDEA 将使用内置的 Maven 核心程序(不稳 定)并使用默认的本地仓库位置。这样一来,我们在命令行操作过程中已下载好的 jar 包就白下载了, 默认的本地仓库通常在 C 盘,还影响系统运行。

配置之后,IDEA 会根据我们在这里指定的 Maven 家目录自动识别到我们在 settings.xml 配置文件中指 定的本地仓库。

Maven home path:指向Maven的家目录,也就bin目录的上一级目录

User settings file:设置settings.xml

Local repository:设置本地仓库地址

三.创建Java模块工程

①创建Java模块工程

创建之后会在pom.xml中自动给我们配置相关的依赖

四.创建Web模块工程

环境搭建

①创建Web模块

②pom.xml中配置

    <!--Web 工程要求打包方式为 war-->
    <packaging>war</packaging>

③生成web.xml,或称之为部署描述符,也就是Deployment Descriptors

这个目录需要我们自己去指定一下,要是不这样写,Maven就不认识了,因为Maven默认的目录结构web资源就是放在src\main\webapp下面

④配置web资源的根目录

 

设置成功的目录 

 

上面操作完成后,我们基本的一个web程序就搭建好了,下面来进行测试一下

测试程序

①写一个Message方法

public class Message {
    public String getMessage() {
        return "hello message";
    }
}

②创建一个index.jsp

<body>
    <%=new Message().getMessage()%>
</body>

③配置tomcat并启动 

成功在页面中显示 

 

五.其他操作

1.在IDEA中执行Maven命令

①直接执行

②手动输入 

2.在IDEA中查看某个模块的依赖信息 

3.工程导入

Maven工程除了自己创建的,还有很多情况是别人创建的。而为了参与开发或者是参考学习,我们都需 要导入到 IDEA 中。下面我们分几种不同情况来说明:

①来自版本控制系统

目前我们通常使用的都是 Git(本地库) + 码云(远程库)的版本控制系统,结合 IDEA 的相关操作方式 请点这里 代码重工 (gitee.io)查看克隆远程库部分。

②来自工程目录

直接使用 IDEA 打开工程目录即可。下面咱们举个例子:

1>工程压缩包

2>解压

3>打开,open

4>设置 Maven 核心程序位置,也就是进行配置Maven

4.模块导入

①情景重现

在实际开发中,通常会忽略模块(也就是module)所在的项目(也就是project)仅仅导入某一个模块 本身。这么做很可能是类似这样的情况:比如基于 Maven 学习 SSM 的时候,做练习需要导入老师发给 我们的代码参考。

②导入 Java 类型模块

1>把我们要使用的Module复制到我们的工程目录下

复制过来后,IDEA会检测到,但是这个时候它只认为是目录,不知道是IDEA管理的一个module

 

 2>在 IDEA 中执行导入

③修改 pom.xml

刚刚导入的 module 的父工程坐标还是以前的,需要改成我们自己的 project。

④导入 Web 类型模块

其它操作和上面演示的都一样,只是多一步:删除多余的、不正确的 web.xml 设置。如下图所示: 

还有相关的依赖别忘了噢,这里我成功了

如果我们的工程目录IDEA识别不了,我们还可以手动设置一下,我觉得还挺方便的,如下图 

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

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

相关文章

yolov5量化注意事项(二)

一、引言 前面的博文&#xff0c;是PTQ的注意事项。本篇文章是记录QAT部分需要修改的一些要点。 注&#xff1a;本文仅供自己的笔记作用&#xff0c;防止未来自己忘记一些坑的处理方式 QAT的大致流程&#xff1a;&#xff08;1&#xff09;训练生成基础模型&#xff0c;通常是…

Linux系统中驱动格式基本实现

大家好&#xff0c;今天主要和大家聊一聊&#xff0c;编写Linux驱动格式与方法。 目录 第一&#xff1a;基本格式实验 1、编写外设结构体 2、定义IO复用寄存器组的基地址 3、定义访问指针 第二&#xff1a;实验程序编写 第一&#xff1a;基本格式实验 可以利用模仿C语言中结构…

第二十三章 原型链

一、原型链 1、含义&#xff1a;就是对象的访问机制。从任何一个数据类型触发&#xff0c;由_proto_串联起来的链状结构&#xff0c;就是原型链 2、原型对象 &#xff1a;是函数天生自带的一个属性 , prototype 是一个对象数据类型 3、对象原型&#xff1a; 是对象天生自带的…

数字化门店| 瑜伽馆管理系统小程序| 小程序开发教程

随着悦己消费及对自身形象的高需求增加&#xff0c;越来越多的女性加入了瑜伽队列&#xff0c;对需求者而言&#xff0c;在同城找到合适的场馆或专业的老师不太容易&#xff0c;毕竟瑜伽教练证很好考&#xff0c;门槛低&#xff0c;不少场馆的教练老师略显不专业。对商家来说&a…

前端部署iis后axios跨域请求问题

一. 安装 ARR 3.0&#xff08;Application Request Routing&#xff09; 访问 IIS 官方网站&#xff1a;https://www.iis.net/downloads/microsoft/application-request-routing &#xff0c;有两种安装方式。 一&#xff0c;通过 Web 平台安装程序&#xff08;Web Platform …

2023年天津/辽宁/安徽/北京DAMA-CDGA/CDGP数据治理认证报名

DAMA认证为数据管理专业人士提供职业目标晋升规划&#xff0c;彰显了职业发展里程碑及发展阶梯定义&#xff0c;帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力&#xff0c;促进开展工作实践应用及实际问题解决&#xff0c;形成企业所需的新数字经济下的核心职业…

光源基础(3)——光的折射反射偏振原理

费马原理 费马原理:光线沿光程为平稳值的路径传播。 光场中从P点到Q点&#xff0c;一条实际光线满足其路径积分泛函的变分为0&#xff0c;即如下条件: 路径积分的平稳值是相对于临近路径积分值相对而言的&#xff0c;有三种基本含义: 极小值:这是最常见的情形(光的直线传播、…

Allegro如何制作routekeepin操作指导

Allegro如何制作routekeepin操作指导 Allegro上可以快捷的制作Route keepin ,让Cline以及铜皮都在routekeepin里面,以下图板框为例 具体操作如下 选择Edit-Z-copy命令 Options选择画在Route keepin-All层 Size选择Contract Offset输入19.8 相对于板框内缩0.5mm Find选择…

hive补全连续或非连续空值数据sql

目录 一、背景 二、测试数据准备 三、实现 一、背景 爬虫或业务场景运行中经常会出现丢数据的情况&#xff0c;可能随机丢一分钟&#xff0c;或者丢几十分钟&#xff0c;完全没有规律&#xff0c;如果想用上一个有效值来补全的话单纯用lag函数无法实现 二、测试数据准备 c…

骑行适合戴什么耳机,几款适合在骑行过程佩戴的耳机推荐

耳机的诞生解决了在封闭场合下需要接收声音的问题&#xff0c;因此更多的人也是对耳机产生了依赖&#xff0c;不管在什么场景下都需要耳机的陪伴&#xff0c;随着关于耳道病疾也愈发严重。而新型的骨传导耳机因为自身不入耳的特性&#xff0c;也是逐步受到更多的人喜爱&#xf…

Linux环境下MySQL的数据目录

MySQL的数据目录 数据库文件的存放路径 MySQL数据库文件的存放路径&#xff1a; /var/lib/mysqlmysql> show variables like datadir; -------------------------------- | Variable_name | Value | -------------------------------- | datadir | /var/…

Python 采集109个中国风风格PPT

PPT下载链接&#xff1a;https://pan.baidu.com/s/1PJ671YEj6M9khtdhh6TSxA?pwdg37t 提取码&#xff1a;g37t 源码下载链接&#xff1a;ppt.rar - 蓝奏云 采集的参数 page_count 1 # 每个栏目开始业务content"text/html; charsetgb2312"base_url "https:…

RabbitMQ中的集群架构介绍

文章目录前言一、普通集群(副本集群)1.架构图二、镜像集群1.架构图前言 在之前我们是以单节点的形式来运行mq。在真正的生产实践中&#xff0c;mq主要用来完成两个应用系统间的通信&#xff0c;如果在某一时刻mq宕机了&#xff0c;会导致系统瘫痪&#xff0c;就是无法进行通信…

美中嘉和在港交所招股书失效:去年亏损约5亿元,杨建宇为实控人

12月1日&#xff0c;贝多财经从港交所披露易了解到&#xff0c;美中嘉和医学技术发展集团股份有限公司&#xff08;下称“美中嘉和”&#xff09;的上市申请材料失效&#xff0c;目前已无法正常查看或下载。据贝多财经了解&#xff0c;美中嘉和于2022年5月31日在港交所递表。 公…

C++STL——vector类与模拟实现

vector类vector常用接口介绍初始化reserve与resizeassign缩容接口算法库中的findvector的底层小部分框架模拟实现vectot模拟vector的整体代码迭代器失效问题深层深浅拷贝问题vector vector是表示可变大小数组的序列容器,就像数组一样&#xff0c;采用连续存储空间来存储元素&a…

Three.js初识:渲染立方体、3d字体、修改渲染背景颜色

用场景对three.js进行渲染&#xff1a;场景、相机、渲染器 const scene new THREE.Scene(); const camera new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 0.1, 1000 );const renderer new THREE.WebGLRenderer(); renderer.setSize( window.i…

[附源码]Python计算机毕业设计Django基于web的建设科技项目申报管理系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

【内网安全】——Linux信息收集

作者名&#xff1a;Demo不是emo 主页面链接&#xff1a;主页传送门 创作初心&#xff1a;舞台再大&#xff0c;你不上台&#xff0c;永远是观众&#xff0c;没人会关心你努不努力&#xff0c;摔的痛不痛&#xff0c;他们只会看你最后站在什么位置&#xff0c;然后羡慕或鄙夷座…

ContentResolver.query流程分析

文章目录1.Context.getContentResolver()2.ContentResolver.query()3.ContentProviderProxy.query()4.Transport.query()总结增删改查ContentProvider时&#xff0c;通过Binder实现ContentProvider在App进程启动时进行实例化&#xff0c;具体时机是在Application.onCreate()执行…

项目构建生命周期与插件

项目构建生命周期描述的是一次构建过程经历了多少个事件。 maven对项目构建的生命周期划分为3套&#xff1a; clean&#xff1a;清理工作。 default&#xff1a;核心工作&#xff0c;例如编译、测试、打包、部署等。 site&#xff1a;产生报告&#xff0c;发布站点等。 clean生…