今天拿出以前的intell_for_VE项目重新部署来玩玩。在公司的电脑上遇到了蛮多问题。该项目用SSH1框架实现。配置上没有特殊性。纯属自娱自乐。
第一、公司电脑的默认JDK现在已经是JDK1.6了。要时刻注意以前的项目是否支持JRE1.6的情况。
第二、MYSQL也是新的。在MYSQL5.8以后的innoDB,不是用type=innodb关键字,而是用Type=innodb了。
在网上查了写资料后,没有管数据引擎功能,用最简单的方法。
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
注意不要使用MYSQLINNODDialet来自动建表,会出错说type=innodb语法错误。
第三、在Jar包上,忘了怎么配置了。记录下心得。
Tomcat 5.5的包在common/lib下,如果项目中的Servlet报错,可以用Reference Library的方式引用。但是不要拷贝到Web APP里(WebContent/lib)。因为Tomcat的common/lib在启动的时候,会载入内存,到时候会出现lib冲突的诡异错误。例如:
root cause
java.lang.NoSuchMethodError: org.eclipse.jdt.internal.compiler.CompilationResult.getProblems()
Reference Library里只要引用servlet-api.jar就行。
我个人理解是: Reference Library里引用的包是项目开发的包,而不是项目在运行时需要的包。因为Tomcat运行时使用的包从common/lib和webapp(应用程序根目录)的不同的应用的/lib里, 这两个地方载入。所以这两处不能有重复包出现。