启动报错:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
如果你是maven项目,tomcat在发布项目的时候没有同时发布maven依赖所添加的jar包,
你需要设置一下eclipse:
项目 —> 属性 -> Deployment Assembly -> Add -> Java Build Path Entries -> 选择Maven Dependencies -> Finish -> OK
把对应的Maven依赖包也发布到tomcat,调试时会自动把那些jar发布到指定目录下,tomcat也能找到那些jar了。
遇到问题2:
jsp引用js,css错误,原因是js,css文件要在resources文件夹下
遇到问题3:
xml文件显示红叉,首先这个文件是一个xml文件,那么他里面的所有内容都符合xml语法规范,开头的<project></project>这最外层同样也是一个xml文件的标签,后面那一长串也就是所谓的属性,其中xmlns表示命名空间,xmlns="http://maven.apache.org/POM/4.0.0" 这表示默认命名空间,而下面xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 这个命名空间里面的元素或者属性就必须要以xsi:这种方式来写,比如schemaLocation就是他的一个属性,所以写成xsi:schemaLocation,而默认命名空间不带类似xsi这种,其实xml标签名称有个专业叫法叫做QName,而如果没有前面的xsi:这种一般叫做NCName。所以你看mvn里面的<dependency>这种就是默认命名空间下面的元素,最后那一行就表示把定义这个命名空间的schema文件给引用进来,好让eclipse这类型工具能够解析和验证你的xml文件是否符合语法规范。等同于<import namespace="xxx" schemaLocation="xxx.xsd"/>。
cmd文件运行后默认不关闭,文件最后加pause
遇到问题4:
工程名称改变后,tomcat启动有括号。
把工程setting文件下的内容改下。
遇到问题5:
在Properties里Deployment Assembly 导入maven Dependenceis项目。
右击 Maven project --> Macven --> Enable Dependency Managemen。
遇到问题6:
[INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 5.912 s [INFO] Finished at: 2017-02-17T11:35:16+08:00 [INFO] Final Memory: 10M/154M [INFO] ------------------------------------------------------------------------ [ERROR] Plugin org.jasig.maven:maven-translate-plugin:0.0.1 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.jasig.maven:maven-translate-plugin:jar:0.0.1: Could not transfer artifact org.jasig.maven:maven-translate-plugin:pom:0.0.1 from/to mojo-snapshot (https://nexus.codehaus.org/content/repositories/codehaus-snapshots/): nexus.codehaus.org: Unknown host nexus.codehaus.org -> [Help 1] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging.
因为默些文件被国内网络屏蔽,使用maven阿里云中央仓库会下载很快。
配置setting.xml文件
遇到问题7:
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina]] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162) at org.apache.catalina.core.StandardService.startInternal(StandardService.java:444) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) ... 9 more Caused by: org.apache.catalina.LifecycleException: A child container failed during start at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1127) at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:300) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) ... 11 more
web.xml中filter,filter-name,filter-mapping内容有问题。
遇到问题8:
2017-02-24 18:15:26,985 WARN [DispatcherServlet.java:1147] : No mapping found for HTTP request with URI [/SpringExample/] in DispatcherServlet with name 'SpringMVC'
spring配置:<url-pattern>/*</url-pattern>改成<url-pattern>/</url-pattern>
<!-- Spring mvc servlet -->
<servlet>
<servlet-name>SpringMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>SpringMVC</servlet-name>
<!-- Filter all resources -->
<url-pattern>/</url-pattern>
</servlet-mapping>
遇到问题9:
MyBatis 最常见错误,启动时控制台无限输出日志
http://blog.csdn.net/isea533/article/details/51277786
遇到问题10
本地好用,测试服务器不行。
1 nested exception is java.lang.NoSuchMethodError: com.baozun.event.OrderSubmittedEvent.<init>(Ljava/lang/Long;Ljava/lang/String;Ljava/lang/Long;)V
2 org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.NoSuchFieldError: storeId at org.springframework.web.servlet.DispatcherServlet.triggerAfterCompletionWithError(DispatcherServlet.java:1303) ~[spring-webmvc-4.1.7.RELEASE.jar:4.1.7.RELEASE] at ]
此问题最特么坑爹,最特么坑爹,最特么坑爹,花费了一下午才调查清楚
原因:
1.找不到方法
maven工程项目依赖当中有相同的文件,改了一个好用的文件,但测试环境使用了那个买改的文件
2.找不到方法中得参数
有可能缺少get或set方法
解决方案:
把其中一个依赖工程中的相同文件删除掉。
遇到问题11
本地好用,测试服务器不行。
DEBUG DispatcherServlet.java:1198 org.springframework.web.servlet.DispatcherServlet -Handler execution resulted in exception - forwarding to resolved error view: ModelAndView: materialized View is [org.springframework.web.servlet.view.json.MappingJackson2JsonView: unnamed]; model is {exception={stackTrace=java.lang.IllegalArgumentException: An invalid character [44] was present in the Cookie value
java.lang.IllegalArgumentException: An invalid character [44] was present in the Cookie value
查看tomcat版本
tomcat下 [root@i bin]# ./catalina.sh version Using CATALINA_BASE: /service/appservers/it-web-usercenter Using CATALINA_HOME: /service/appservers/it-web-usercenter Using CATALINA_TMPDIR: /service/appservers/it-web-usercenter/temp Using JRE_HOME: /usr/lib/jvm/jdk1.8.0_111 Using CLASSPATH: /service/appservers/it-web-usercenter/bin/bootstrap.jar:/ service/appservers/it-web-usercenter/bin/tomcat-juli.jar Server version: Apache Tomcat/8.5.15 Server built: May 5 2017 11:03:04 UTC Server number: 8.5.15.0 OS Name: Linux OS Version: 2.6.32-642.el6.x86_64 Architecture: amd64 JVM Version: 1.8.0_111-b14 JVM Vendor: Oracle Corporation
在8.5.15.0的版本下cookie的存储不能用“,”
解决方案:换成“#”。