标题:IDEA启动tomcat out目录里面的classes文件夹中java代码都没有被编译进去;spring输出的out中没有classes;出现404问题
很多时候出现404,并不是目标路径没有写对,也不是代码写错了。而是 没有部署成功
遇到问题,如果没有写错的话,可以检查out文件夹中的内容,和我们项目部署的内容是否一样。如果不一致 就重新部署即可
如下,我们的out文件夹中,没有classes,说明部署失败啦。
//错误:都可以试一下
启动tomcat后,发现出现部署失败的错误,或者访问:
http://localhost:8080/pagesHello 出现500错误
1.从project中移除此module
1.1 先删除out文件夹
1.2 移除module
1.3 移除artifacts
至此,可以看到.idea中没有了artifacts,当前module没有了蓝色
2.导入module
导入module
导入web
点击create artifact(部署到tomcat中)后,点击apply,ok退出
3.手动检查tomcat中 module 是否部署
其实,按照上面的部署,这里会自动配置好(可以作为检查把)
先移除deployment中的 此部署的项目,然后再添加(此步骤也可以不做,如果 下面没有变红色)
4.启动tomcat
启动tomcat后,
发现out中有classes,但是没有views等文件夹文件
发现SpringTechnologyDetailTest04_MVC_Web_exploded.xml中目录结构也不对
5.补充web resource directory
原因在于,部署module的时候,web文件夹的目录没有设置。
所以我们需要重新设置web文件夹输出目录,以及重新部署
重新部署: 如果artifacts中有,可以- 然后+
手动检查tomcat中 module是否部署,建议:可以先移除-,再添加+
//如果没有变红,可以不操作
再次启动tocmat,
输入http://localhost:8080/pagesHello,就可以访问啦
out目录,springxx.xml文件都和理论一样啦
//注,artifacts有两个此module的文件,可以把out删除后,再启动tomcat
//注:最好不要随便删除.idea/artifacts,而是通过上面手动的方式删除,我感觉这样好一些,因为删除artifacts后,又需要重新部署 还得按照上面的方式 部署