本地部署项目可以正常访问,放在服务器上报404
问题如标题所述,开始怀疑是项目war包名称打的不对,于是修改项目的访问路径名和war包名称相同,可是还是不行!
接着查看代码,代码里有一段默认加载的js,把访问路径名写死了!!!!!!!!于是将war包名称、项目访问名称改为和js中限定的访问名相同,放到服务器依然404!
又开始怀疑是tomcat或者jdk问题~~~~~~~~于是将tomcat和jdk都换成了8,部署后还是不行!
继续猜想------是不是jar包冲突导致,查看后是有两个jar包冲突!!!!发现新大陆,把冲突的包删除,重新部署---依然是顽强的404
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
经过n次尝试,发现是pom文件里的maven-compiler-plugin有问题:
我的项目使用jdk-1.8和tomcat-8,但是服务器上的tomcat是tomcat-7,于是将pom的编译配置修改为7,部署后正常访问!!!!
原来报404的配置:
问题如标题所述,开始怀疑是项目war包名称打的不对,于是修改项目的访问路径名和war包名称相同,可是还是不行!
接着查看代码,代码里有一段默认加载的js,把访问路径名写死了!!!!!!!!于是将war包名称、项目访问名称改为和js中限定的访问名相同,放到服务器依然404!
又开始怀疑是tomcat或者jdk问题~~~~~~~~于是将tomcat和jdk都换成了8,部署后还是不行!
继续猜想------是不是jar包冲突导致,查看后是有两个jar包冲突!!!!发现新大陆,把冲突的包删除,重新部署---依然是顽强的404
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
经过n次尝试,发现是pom文件里的maven-compiler-plugin有问题:
我的项目使用jdk-1.8和tomcat-8,但是服务器上的tomcat是tomcat-7,于是将pom的编译配置修改为7,部署后正常访问!!!!
原来报404的配置:
<plugin>正确的配置:
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
/plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>