之前用eclipse写web项目,最近转到IDEA开发,在创建IDEA上第一个Maven的web项目时就遇到了不小的麻烦,在这里记录一下。
1、关于tomcat无法启动的问题
在创建好一个web项目想要把它运行起来的时候,报了如下错误,我使用的是tomcat7
网上找遍解决办法未果,于是更换了tomcat9
在官网下载了tomcat9的压缩包,解压后将其添加到IDEA中:打开Run/Debug Configurations -> Configure... -> +
将刚解压后的tomcat地址添加到上图中TomcatHome处,注意要添加压缩包里的bin目录。
使用新的tomcat9部署web项目并运行,又出现了新的错误提示,提示缺少权限 Permission Denied。
这里我们需要赋予tomcat运行的超级管理员权限,打开终端,cd进入到tomcat的bin目录中,输入 sudo chmod 755 *.sh ,然后输入 ./startup.sh 启动tomcat,在浏览器输入 localhost:8080 验证tomcat是否启动成功。
启动成功后输入 ./shutdown.sh 关闭tomcat,再在IDEA中正常运行web项目就可以了~
2、关于Spring中配置文件无法被Context识别的问题。
如果我们的web项目使用的是springmvc,那么当我们将spring的xml配置文件添加到项目中后,要检查一下配置文件是否被context自动识别。
打开project structure,如下图所示,点击Facet->Spring,再点击下方+号,向右侧空白处添加刚刚创建的Spring配置文件。
3、关于运行程序时提示无法注入bean的问题
这个问题困扰了好长时间,程序明明在eclipse里面可以正常运行,导入IDEA后就无法运行并提示无法注入相关的bean,后来发现,是由于IDEA中的maven项目不能自动识别source文件夹下的xml文件,只能识别resources文件夹下的。需要在pom文件中的<build></build>标签里加入以下代码:
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
然后重新运行项目就ok了。