问题
从github上下载了一个gradle项目,导入到IDEA中,如下图的目录结构:
我的web.xml文件如下图,applicationContext.xml是整个项目的Spring配置文件。
IDEA中配置Tomcat的步骤
1.修改项目结构
点击 File => Project Structure
首先设置.class文件的到处地址,以便后续过程的查看验证
然后添加Artifacts
这里可以看到编译后的内容,class文件夹中包含的是main项目中编译后的.class文件,lib文件夹中是项目所使用的所有的jar包。
2.配置Tomcat
在Idea中配置Tomcat前,所要先从Tomcat官网上下载相应的压缩包并解压。
点击页面上的Edit Configurations按钮。
在页面上添加一个Tomcat Server并进行相应的配置
3.启动Tomcat
是不是以为成功了,然后就会发现出问题了
从上图可以看出是Spring 的配置文件读不到,然后查看之前我们配置的文件编译后存放的地址,会发现确实有resources文件夹,但是不在classes文件夹下,而是和它平级,即不在CLASSPATH(classes文件夹下)中,所以找不到配置文件。
解决方案
第一种
自己手动添加resources文件的路径,如下图
然后重启Tomcat发现成功读取到配置文件啦
第二种
通过gradle的war插件生成war包。在build.gradle文件中添加war插件
apply plugin: 'war'
然后查看Project Structrue会发现gradle生成了两个war包,explode就是还没有打包的,适合项目调试使用,查看项目的输出结构发现它自动添加了resources文件夹的路径。
然后去修改Tomcat中对应的Artifact,如下图
最后重启Tomcat,发现读取配置成功啦
到这里,在Idea里使用Tomcat启动Gradle搭建的web项目就结束啦,希望可以帮到正在看这篇文章的你!!!!