解决idea发布maven项目以后的路径404问题(发布到服务器的tomcat)

解决idea发布maven项目以后的路径404问题(发布到服务器的tomcat)

 

在用idea写一个maven项目的时候,写完了,然后打成war部署的时候出现访问controller全部404和部分js404的问题

首先在访问controller的时候加上../可以解决,但是都要加的工程量太大,所以有了以下的解决方案

 

经过两天的看博客,看帖子,最终还是靠半蒙半猜解决了这个路径问题

 

我这边用的是tomcat7,jdk1.8

jdk的版本必须与环境中配置的一样,就是跟编写时用的一样。

 

其实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比较慢,所以就直接放的编译后的文件;

如果按上述步骤执行完以后还不行,就检查一遍jdk版本,我就是经常在这出错,服务端的jdk版本必须跟编写时的jdk版本保持一致,以免出错。

 

如果还解决不了,可以在评论里留言。

最后附上含配置文件的tomcat;

链接:https://pan.baidu.com/s/1gywmgMzMXAHc_UGQqIDFTg 密码:1f09

猜你喜欢

转载自blog.csdn.net/qq_41755287/article/details/82700682