浅谈基于Intellij IDEA Maven的配置与使用
在java开发中,引入jar包的方式从种类上划分,可分为自动导入和手动导入,然而,手动导入繁琐,不是很适合当前开发模式,手动导入也被自动导入所取代。
当前,Maven和Gradle是比较主流的自动导入工具,本篇文章,我们主要分析Maven自动导入。
在进入正文前,我们先来看看一个概念,即“仓库”。何为仓库呢?指存放jar文件的库,具体来说,就是项目所需的jar文件库。在公司开发中,仓库一般分文中央
仓库和本地仓库,本地仓库作为开发本地用,中央仓库为公司所用,使用它们的逻辑是这样的:
(1)先查本地仓库是否有相关的jar包,若有,则直接获取;
(2)若本地仓库没有相关的jar包,则本地仓库从中央仓库获取到本地,然后项目再从本地仓库获取
一 Maven配置
在配置Maven时,请先安装JDK7及以上版本,检查jdk版本:java -version,我电脑安装的时jdk 11
1.下载解压版本。
官网: https://maven.apache.org/download.cgi
2.将下载的Maven解压到指定位置,这里,我解压到C:\Maven
3.配置环境变量
(1)Maven_HOME:C:\Maven\apache-maven-3.6.0
(2)将Maven_HOME变量添加到PATH
%Maven_HOME%\bin
4.建立本地仓库,我的本地仓库为E:\MyRepos
5.修改Maven的settings(C:\Maven\apache-maven-3.6.0\conf\settings.xml)文件,添加本地仓库路径
6.测试Maven是否配置成功。
在dos中输入:mvn help:system ,E:\MyRepos会自动产生一些文件,说明配置成功
E:\MyRepos 增加了如下文件
提示:在测试完安装成功后,将E:\MyRepos 测试时生成的所有文件清空
二 在Intellij IDEA中配置Maven
1.启动Intellij IDEA,Create new Project=>Maven=>Project SDK=>勾选"Create from archetype",
这里我选择WepApp作为测试
2.设置项目相关信息
GroupId:可以当作项目的命名空间,一般为公司域名倒写
ArtifactId:项目名称
Version:版本,默认即可
3.选择Maven包和本地仓库
4.一直Next直到项目构建完成,如下为默认构造的WebApp项目
5.关于Maven在Intellij IDEA详细配置
File=>Settings=>Build,Execution,Deploymen=>Build Tools=>Maven=>Importins
进行相关配置即可
三 配置Tomcat
1.Add Configuration=>Templates=>Tomcat Server=>Local
2.配置Server
在Application server选择配置好的Tomcat即可,我的是Tomcat 9.0.14
3.配置代理
Deployment=>+=>Artifact=>MavenTest:war,将Application context名字修改与项目名相同,因为本项目
名为MavenTest,所以更改为MavenTest
4.浏览器输入:http://localhost:8080/MavenTest/ ,出现如下,说明部署成功
四 在Tomcat中部署war
1.将MavenTest.war拷贝到Tomcat的webapps目录下即可,我的为:
C:\Program Files\Apache Software Foundation\Tomcat 9.0\MavenTest.war
2.启动Tomcat,就可以访问了
五 版权区
- 转载博客,必须注明博客出处
- 博主网址:http://www.cnblogs.com/wangjiming/
- 如您有新想法,欢迎提出,邮箱:2098469527@qq.com
- 专业.NET之家技术QQ群:490539956
- 专业化Java之家QQ群:924412846
- 有问必答QQ群:2098469527
- 一对一技术辅导QQ:2098469527
浅谈基于Intellij IDEA Maven的配置与使用的更多相关文章
- 浅谈基于Prism的软件系统的架构设计
很早就想写这么一篇文章来对近几年使用Prism框架来设计软件来做一次深入的分析了,但直到最近才开始整理,说到软件系统的设计这里面有太多的学问,只有经过大量的探索才能够设计出好的软件产品,就本人的理解, ...
- 浅谈基于Linux的Redis环境搭建
本篇文章主要讲解基于Linux环境的Redis服务搭建,Redis服务配置.客户端访问和防火强配置等技术,适合具有一定Linux基础和Redis基础的读者阅读. 一 Redis服务搭建 1.在根路径 ...
- 浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案
如今,基于Web版的Office 在线预览与编辑功能已成为一种趋势,而关于该技术的实现却成为了国内大部份公司的技术挑战,挑战主要存在于两方面: 其一:目前国内乃至微软本身,还没有相对较为完善的解决方案 ...
- 浅谈基于FormsAuthentication的认证
一般情况下,在我们做访问权限管理的时候,会把用户的正确登录后的基本信息保存在Session中,以后用户每次请求页面或接口数据的时候,拿到 Session中存储的用户基本信息,查看比较他有没有登录和能否 ...
- 软件安全测试新武器 ——浅谈基于Dynamic Taint Propagation的测试技术
软件安全测试是保证软件能够安全使用的最主要的手段,如何进行高效的安全测试成为业界关注的话题.多年的安全测试经验告诉我们,做好软件安全测试的必要条件是:一是充分了解软件安全漏洞,二是拥有高效的软件安全测 ...
- 【ASP.NET MVC系列】浅谈NuGet在VS中的运用
一 概述 在我们讲解NuGet前,我们先来看看一个例子. 1.例子: 假设现在开发一套系统,其中前端框架我们选择Bootstrap,由于选择Bootstrap作为前端框架,因此,在项目中,我们 ...
- 【ASP.NET MVC系列】浅谈ASP.NET 页面之间传值的几种方式
ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...
- 【ASP.NET MVC系列】浅谈ASP.NET MVC运行过程
ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...
- 【ASP.NET MVC系列】浅谈ASP.NET MVC 路由
ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...
随机推荐
- bzoj 2038 小z的袜子 莫队
莫队大法好,入坑保平安 只要能O(1)或O(log)转移,离线莫队貌似真的无敌. #include<cstdio> #include<iostream> #include< ...
- ll 和 ls -l的详解
ll会列出该文件下的所有文件信息,包括隐藏文件 而ls -l 只会列出显示文件 ll 命令列出的信息更加详细,有时间,是否可读写等信息 ll命令和ls -l命令结果区别: 上面结果说明: 各个字段的含 ...
- Volley手写属于自己的万能网络访问框架
用户在调用层(Activity或Service中),发起一个网络请求,该请求肯定包含url,请求参数(requestParameter),以及我们需要给调用层提供一个请求成功或失败以后回调监听的接口d ...
- centos7系统服务管理
systemd是RH7系列操作系统开始启用新的系统和服务管理器.它被设计为与sysv init脚本向后兼容,并提供了一些功能,例如在引导时并行启动系统服务,按需激活守护程序或基于依赖关系的服务控制逻辑 ...
- asp.net core系列 52 Identity 其它关注点
一.登录分析 在使用identity身份验证登录时,在login中调用的方法是: var result = await _signInManager.PasswordSignInAsync(Input ...
- 深入理解es6-Promise对象
前言 在之前翻博客时,看到promise,又重读了一边,突然发现理解很浅,记的笔记也不是很好理解,又重新学习promise,加深理解,学以致用 在promise出来之前,js常用解决异 ...
- python爬虫踩坑教程
我们的目标是爬取下面这个个网址上的2010~2018年的数据 http://stockdata.stock.hexun.com/zrbg/Plate.aspx?date=2015-12-31 获取我们 ...
- ArrayList 和 LinkedList 源码分析
List 表示的就是线性表,是具有相同特性的数据元素的有限序列.它主要有两种存储结构,顺序存储和链式存储,分别对应着 ArrayList 和 LinkedList 的实现,接下来以 jdk7 代码为例 ...
- asp.net core 系列之并发冲突
本文介绍如何处理多个用户并发更新同一实体(同时)时出现的冲突 . 主要是两种:一种,检查属性并发冲突,使用 [ConcurrencyCheck] ;另一种,检测行的并发冲突,使用 rowversion ...
- xss攻击和csrf攻击的定义及区别
1.CSRF的基本概念.缩写.全称 CSRF(Cross-site request forgery):跨站请求伪造. PS:中文名一定要记住.英文全称,如果记不住也拉倒. 2.CSRF的攻击原理 用户 ...