使用idea+gradle创建javaweb项目
前提条件
工具版本
Gradle:4.7
idea: IntelliJ IDEA 2020.3.2 (Ultimate Edition)
tomcat:8.5.24
New Project 选择gradle java 下一步

点击finish
创建webapp相关内容并被idea识别
WEB-INF jsp静态文件 web.xml

创建配置springmvc.xml 配置web.xml
创建controller
配置project structure
Project面板

Modules面板


Facets面板

Artifacts面板
需要新创建Web Application

注意:
本人用idea默认创建的xxx.war(exploded)启动不成功 新建一个war exploded没有问题 曾怀疑是project面板下的project compiler output的问题,改为build目录同时modules也更改了目录仍不成功,哪位大佬知道的话麻烦告知下

注意:
a.	output director需要指定输出到out目录 作用是把build目录下的文件复制到out目录用于tomcat运行
b.	WEB-INF目录下classes需要包含resources文件(springmvc.xml)编译后的class文件(从build复制到out目录下的)
c.	确保lib目录下有我们所依赖的jar文件,lib目录没有则手动创建并导入jar 否则会报springmvc相关的类找不到的异常
d.	Facets resources指的是Facets面板下配置的webapp下的文件 如下图的除掉classes文件

配置tomcat服务器


点击运行 成功页面

问题及解决方案
Xxxxx.war not found for the web module
[2021-09-05 01:39:54,910] Artifact Gradle : com.byteway : gradle-test5-1.0-SNAPSHOT.war (exploded): Artifact is being deployed, please wait...
[2021-09-05 01:39:54,923] Artifact Gradle : com.byteway : gradle-test5-1.0-SNAPSHOT.war (exploded): Error during artifact deployment. See server log for details.
[2021-09-05 01:39:54,925] Artifact Gradle : com.byteway : gradle-test5-1.0-SNAPSHOT.war (exploded): com.intellij.javaee.oss.admin.jmx.JmxAdminException: com.intellij.execution.ExecutionException: F:\idea-code\gradle-code\gradle-test5\build\libs\exploded\gradle-test5-1.0-SNAPSHOT.war not found for the web module.
Out下目录没有文件 说明artifacts配置的输出目录有问题 同时确保fcets面板配置没有问题

正常配置后文件会复制到out目录 同时会看到如下日志deployed successfully

报HTTP Status 500 – Internal Server Error

检查下out目录下是否有springmvc.xml
或者gradle build下打的war包放到tomcat下 看是否有问题,如果没问题的话说明复制到out目录这一步有问题,检查artifacts面板下的output layout下的配置是否有问题


其他未知问题及终极大招
a.	在artifacts重新创建个webapplication吧
b.	清空idea缓存 删除.idea
c.	不使用xxx.war exploed了,使用xxxx.war


 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号