如何在IDEA中用maven启动Tomcat
如何在IDEA中用maven启动Tomcat
对于自学党来说,maven的配置很是复杂,并且网上没有很完整的配置文章,导致大家在配置时出现了很多错误,浪费了不少时间,所以我写了一篇文章来教学,如何在IDEA中用maven启动tomcat(JavaWeb项目),希望对大家有帮助
一、所需软件及其版本
- IDEA:2020.1.1(方便破解…但正版万岁)
- maven:3.6.3版本
- Tomcat:Tomcat7
- JRE:JRE1.8(Tomcat和JRE的版本有严格的要求,不匹配会无法加载jsp文件)
二、配置步骤
配置maven仓库
修改本地仓库地址:在任意文件夹下建立localRepository文件夹
打开maven/conf/settings.xml中找到下方代码,并追加一行代码(具体地址是localRepository的地址)
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
<localRepository>D:\maven\apache-maven-3.6.3-bin\localRepository</localRepository>
配置IDEA中的maven
点击IDEA主页面的Configure–>Settings(一定要在主页面中配置,否则作用域会不同)
左上角搜索maven,回车后在maven home directory中找到本地maven的路径
将user setting file 和 local repository的override选中
并在user setting file中选中本地的conf\setting.xml文件,此时local repository会自动变到刚才配置的仓库路径
点击左侧的runner,配置jre并在VM options中加入代码 -DarchetypeCatalog=internal
创建项目
点击create project,选择maven,勾选create from archetype(用骨架构建),在骨架中找到webapp骨架,下一步
artifact coordinates不做改动,输入项目name和location,下一步
检查,确保三个地址与上文配置中的一致,完成创建
导入依赖jar包
进入项目,看到如下项目目录结构及BUILD SUCCESS 代表创建成功
在main文件夹下建立java文件夹并将其设置为source root 文件夹
在java文件夹下创建com.test.servlet包,在包中创建myServlet.java文件作为测试用的servlet
由于没有导入sevlet有关的jar包,我们只能在web.xml中自行配置,代码如下。
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>myServlet</servlet-name>
<servlet-class>com.test.servlet.myServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>myServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
导入依赖jar包(在maven中导入jar包都是同样的步骤):
打开mvn仓库官网:mvn仓库官网
在搜索栏中搜索要用的jar包,此次要用servlet-api 和 jsp-api,我们先导入servlet-api
点击第一个API
进入后,点击3.1.0版本号
复制代码
在pom.xml的dependencies标签下粘贴代码(这里会有标红,我们点击下图中的图标,等待下载即可)
同理,jsp-api也导入到项目中
编写servlet类
在myServlet.java下定义servlet,我们只做最简单的跳转测试,代码如下
package com.test.servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class myServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.getRequestDispatcher("/hello.jsp").forward(req,resp);
}
}
在webapp文件下创建hello.jsp,输出hello world,(不建立的话会出现404)
配置tomcat,用maven启动
点击idea右上角的add configuration
点击+,配置tomcat server(local),我们只做本地测试,所以用local
在application server中找到本地安装的tomcat路径,jre设置为1.8,其余不做改动
在deployment中点击右侧+,点击artifact,添加xxx:war exploded
回到server设置,将两个选项修改为update classes and resources(这里可以不修改,只不过方便测试)
此时add configurations会变成tomcat,我们点击下箭头,继续edit configurations
同样的,点击+,添加maven,name改为tomcat,command line改为tomcat7:run,点击ok
此时,我们已经配置好了基本的设置,还需要在pom.xml中添加tomcat插件,代码如下
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
</plugin>
至此,配置完毕
测试
点击右上角的绿色箭头,运行maven(如果要以debug运行,请点击右侧的小虫子)
看到代码下方出现如下信息
复制变蓝的url到chrome浏览器,在后面追加myServlet,点击回车,页面出现hello world,配置成功。
本文地址:https://blog.csdn.net/weixin_44647347/article/details/107593630
上一篇: @Scheduled执行阻塞解决办法
下一篇: C++运算符重载实现有理数运算