目录
前言
一、在IDEA中对maven进行设置
1. 利用模板创建一个maven项目
2.自动导入jar包
3. 在IDEA的settings中进行maven的设置
4.maven项目目录的更改
5.maven侧边栏介绍
6.pom.xml文件详解
7.以后可能遇到的问题
二、在IDEA中配置Tomcat
1.在上一篇博客中,https://blog.csdn.net/qq_44886213/article/details/123048197https://blog.csdn.net/qq_44886213/article/details/123048197 学习的是Windows系统下maven环境的搭建,搭建好了以后在任何集成开发环境(比如eclipse、IDEA)中都可以使用maven了,同理,我们的Tomcat也是。本篇博客要学的是如何在IDEA中使用maven和Tomcat。
2.IDEA(从哪个版本开始集成的我也没了解过哈)中已经集成了MAVEN了,为什么还要自己配置maven?
主要就是3个原因,
3.
通过阅读官方手册,了解到IDEA的一些内置工具,有maven、Gradle等,没有jdk和Tomcat
Features - IntelliJ IDEA
新建一个maven项目,选择webapp这个模板。
这一步只需要输入项目名Name就好
接下来进行3个重要的配置,将IDEA默认使用的自带的MAVEN改成刚才下载的。
按照上图中的要求更改,然后finish就可以了
然后进入maven项目的页面,自动开始从阿里云镜像网站下载jar包(auto-import)
我们再来看利用模板构建的目录结构是什么样子的:
发现,和Tomcat中的webapps目录是差不多的。
首先MAVEN_HOME、配置文件路径、本地仓库路径已经配置好了。
PS:这里要注意的是,如果在新建项目的阶段没有让你选择maven路径,那么IDEA可能会自动把MAVEN_HOME改成自带maven的安装路径。每次新建maven项目后,都应该来settings这里检查一下。 这个坑下面就会遇到。这个坑的最好解办法下面会说。
到此为止,在IDEA中对于maven的设置就结束了。
接下来还有一些其他关于maven要更改/注意的地方
我们刚才是利用模板创建的maven项目,现在我们不使用模板创建一个干净的maven项目,看一下目录结构有什么区别。
然后我们等待右下角两个process跑完。
attention!发现了之前说过的问题。这次maven项目进行auto-import的时间格外长,感觉有点不对劲,一看发现下载的网址不是从阿里云镜像远程下载,也不是直接用的本地仓库已经下载好的,而是跑去下载默认的国外源了。再通过settings点开一看,果然新项目自己默认使用了自带的maven(啊这。。。明明上次在IDEA中配置过了的),使用的自带的配置文件(没有换上阿里云镜像)和默认的repo,所以又重新往C盘的本地仓库下东西,而且特别慢。
赶紧停掉了右下角的两个process,这样会出现右边的问题:没有下载好插件。
apply后点击OK,这个错误就解决了。
那么下次再创建一个纯净的maven项目时,settings中是什么样子呢?答案是,IDEA 2020还是会给你使用他自带的maven。。。
这个问题的彻底解决办法:
解决新版本idea(2020)每次创建新项目使用默认maven仓库,改成自己的Maven仓库的的设置_QZP51ZX的博客-CSDN博客_每次创建maven新工程仓库都会修改为默认
差点跑偏了,我们新建一个纯净的maven项目的目的是看一个它的目录结构和用模板去建的有什么区别。
可以看到相比于纯净的maven项目,用模板创建的maven项目少了三个文件夹:
同时可以发现,纯净的maven项目的pom.xml文件很短。
接下来只需要在模板建立的项目的main文件夹下加入java和resources文件夹,然后删掉这个纯净的maven项目就可以了。
右击main文件夹,新建文件夹,输入名字即可。
如果新建的java和resources文件夹不是下图这样的,而是灰色的话
就需要mark一下,操作如下图所示
pom.xml是Maven的核心配置文件。
4.0.0
org.example
javaweb-01-maven
1.0-SNAPSHOT
war
javaweb-01-maven Maven Webapp
http://www.example.com
UTF-8
1.7
1.7
junit
junit
4.11
test
需要注意的就是
举个例子,在这个maven远程仓库中 https://mvnrepository.com/,你可以搜索自己想要的jar包
会给出对应的
虽然我们是在远程仓库中找到的jar包,maven搜索依赖的顺序却肯定是本地仓库->中央仓库->远程仓库。
因为maven的约定大于配置,我们可能遇到写的.xml或者.properties文件无法导出的问题(举个栗子,maven规定了Java文件夹只能放Java源码,你因为项目需求在Java文件夹下加了.xml文件就会被过滤掉)。解决方法就是在build标签内配置
PS: 如果以后使用springboot框架,就不需要再操心Tomcat的配置了。因为springboot框架默认集成了Tomcat这个服务器,而且会给你自动装配。
PS:Tomcat是给项目配,而不是整个IDEA配。下次换个项目还要重新配。
1.点击IDEA右上角的“add configuration”
发现有一个Error,前言中我们就提到过IDEA没有内置Tomcat,所以需要我们去指定本地下载的Tomcat的文件夹在哪,错误的原因就在于还未指定。
问题解决:点击上图中的configure,然后选中Tomcat的安装目录。
Server这个页面没有需要配置的东西了,那就详细说一下这个页面
警告:还没有指定一个artifacts。左上角猫头上的红色叉号也是因为这个warning的存在。
为什么会有这个错误:Tomcat访问一个页面的时候,需要指定一个文件夹。我们在介绍Tomcat目录结构的时候提到过。JavaWeb学习笔记(三)—— Tomcat的目录结构_玛丽莲茼蒿的博客-CSDN博客
之前没有借助IDEA开发的时候,在webapps这个文件夹下有很多项目,那么项目所在的文件夹名就可以用来在Tomcat服务中访问该项目。然而, 在IDEA开发的时候只有一个项目(webapp),所以我们需要手动去配置这个文件夹名称,这就是虚拟路径映射。
解决:进入Deployment页面
apply,然后OK,我们测试一下。