问题一:项目使用maven,打包完之后在idea启动不了
打包完之后在idea里面运行报错,提示找不到springmvc.xml配置文件。
再次clean后又可以运行了。
这是因为maven打包只会打包java文件,配置文件不进行打包,导致target-classes下缺少了配置文件。
解决方法:在pom.xml中设置,配置文件路径。
注意:一定要看看自己的resources文件夹是不是叫resources,有没有拼错。
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<!--<include>**/*.yaml</include>-->
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<!--<include>**/*.yaml</include>-->
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
问题二:tomcat启动不了,闪退问题
闪退问题:
在startup.bat和shutdown.bat中前两行增加配置如下:
SET JAVA_HOME=C:\Program Files\Java\jdk1.8.0_172(自己的jdk路径)
SET TOMCAT_HOME=D:\software\apache-tomcat-8.0.9 - new(自己的tomcat路径)
启动不了:
试了多个版本的tomcat以为坏了,实际上是运行时bin目录下的startup.bat批处理文件直接关闭了,没有点击shundown.bat文件。
可能是tomcat缓存原因。
问题三:访问不了静态资源
原因:未打包之前和打包之后的类路径改变了,找不到静态资源。
解决:在tomcat-conf-service.xml中增加配置
<Service name="Catalina3">
<Connector port="8086" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context docBase="ham_file-1.0-SNAPSHOT" path="/" reloadable="true"/>
</Host>
</Engine>
</Service>
问题四:添加了虚拟路径的映射后不生效
<Context docBase="ham_portal-1.0-SNAPSHOT" path="/" reloadable="true"/>
添加了项目的路径映射但是不生效。
当我使用http://localhost:8088/index访问时,访问不到(404)。
如果你把自己的web项目发布到ROOT下面的话,你可以不通过项目名直接访问你的项目。
解决:删除webapp下面的ROOT文件夹。如果不写项目名默认就是webapps目录下的ROOT项目。