解决idea发布maven项目以后的路径404问题(发布到服务器的tomcat)
解决idea发布maven项目以后的路径404问题(发布到服务器的tomcat)
在用idea写一个maven项目的时候,写完了,然后打成war部署的时候出现访问controller全部404和部分js404的问题
首先在访问controller的时候加上../可以解决,但是都要加的工程量太大,所以有了以下的解决方案
经过两天的看博客,看帖子,最终还是靠半蒙半猜解决了这个路径问题
我这边用的是tomcat7,jdk1.8
其实idea和eclipse对tomcat的使用是有一点本质区别
就是idea调用的是idea自己对tomcat的配置(idea自己创建的tomcat配置文件)
而eclipse调用的是tomcat自己的配置(tomcat本身配置文件)
从而导致项目在放到服务器上的tomcat中会出404,因为那时候运行是调用tomcat的配置文件,所以需要改成idea中的配置文件;
下面我是我一步步的亲身操作
首先是查看自己的output directory路径,这个路径就是你tomcat所读的路径,
也是以后部署的时候用到的路径(后期可以更改)
然后确定好上面步骤的时候,关键步骤来了。
在此C:\Users\Admin\.IntelliJIdea2017.3\system\tomcat路径下就可以看见idea默认的tomcat配置文件(前提是你没有私自更改,一般都不会改)
Unnamed_xp_4就是我xp这个项目的tomcat配置文件
把这几个文件都复制到你服务器的tomcat中,替换掉以前的文件,
这也就是之前说的idea调用的自己的tomcat的配置文件,所以要替换成idea的tomcat配置文件
然后去conf文件中修改server.xml文件
修改
<Host name="localhost" appBase="D:\tomcat\apache-tomcat-7.0.67\apache-tomcat-7.0.67\webapps" unpackWARs="true" autoDeploy="true" deployOnStartup="false" deployIgnore="^(?!(manager)|(tomee)$).*">
appBase:替换成你自己tomcat的webapps路径
然后在去conf\Catalina\localhost下找到ROOT.xml文件
我相信,当你找到这个文件的时候你就该知道把编译后的文件放在哪了。
这是我ROOT.xml文件的内容
<?xml version="1.0" encoding="UTF-8"?>
<Context path="" docBase="D:\work\wlzl\xp\xp\target\first" />
保存的路径就是之前output directory中的路径,这个路径应该可以改成webapps的路径(我没试过),当然了,我没改,我直接把编译以后的项目放到了docBase路径下,然后就可以运行没有404了(没有那个路径的话创建一个)。
直接放war的话应该可以,我感觉放war比较慢,所以就直接放的编译后的文件;
如果还解决不了,可以在评论里留言。
最后附上含配置文件的tomcat;
链接:https://pan.baidu.com/s/1gywmgMzMXAHc_UGQqIDFTg 密码:1f09