使用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

posted @   byteway  阅读(738)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示