之前我的文章——Java学习笔记-Maven中有写在IDEA使用Maven创建Web项目。当时仅仅创建好项目,生成对应的目录结构就结束了,项目还没有跑起来。等到自己部署项目的时候,还是发现了一堆问题,在此记录,以免二次踩坑🐷。

1. 设置Java源码文件夹

由于在IDEA新建的web项目的目录结构中src文件夹下是main文件夹,main中又包括webapp文件夹,没有自动生成放置Java源码的文件夹,需要自己进行创建。

右键main文件夹,新建目录java。

右键java文件夹,选择 Mark Directory as - Sources Root,设置完看到java文件夹显示蓝色就好啦(右键java能看到新建java类选项也能证明设置好啦。)

2. 检查项目结构

点击按钮,打开项目结构面板。

在网上看到很多教程,都是在Modules中自己新建Web,但是我这个直接打开就有了,可能是版本的问题吧,象征性的检查一下😋

选择web 上面一栏看一下是否对应项目的web.xml路径,下面一栏是否对应webapp路径。

再来看一下Artifacts,和上面一样,我这里也是自动打包好的😭,最后点击下面的确定就好了。

3. 配置Tomcat

选择右上角的添加配置。

点击 + 号 - Tomcat Server - local

配置Tomcat

部署war包

点击Artifact后,选择和项目名称相同的war包即可。

可以设置web项目的应用路径。

选择确定保存设置。

4. 运行

点击绿色小三角运行。

可以看到浏览器显示出了index.jsp的内容。

5. 踩坑

因为Maven依赖的java版本和IDEA设置的java版本不一样,会导致部署失败。

解决方法:在Maven中指定IDEA的java版本。IDEA设置的java版本在项目结构中可以看到。打开Maven的settings.xml,在profiles标签中添加下面代码

1
2
3
4
5
6
7
8
9
10
11
12
<profile>  
<id>jdk-11</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>11</jdk>
</activation>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>
</profile>