struts1.3.8与hibernate3.2.5整合所遇到的问题
解决Eclipse环境变量中的Web App Libraries下没有jar包的问题
分类: 疑难问题2011-11-10 14:47 1154人阅读 评论(0) 收藏 举报
今天帮同事调一个项目,里面满是类编译错误,一看就是相应的jar包没有引入,打开build path->configure build path,发现Web App Libraries下没有任何jar包。理应Web App Libraries下包含工程目录\WebContent\WEB-INF\lib下的所有jar包,于是查看了这个目录,发现这个项目的包目录是这样的:工程目录\src\main\sample\WEB-INF\lib,问题显然就出在这里了,找了半天,没有找到在哪里配置这个路径,最后,在工程目录的.settings文件夹中org.eclipse.wst.common.component找到了相关配置,原来的配置是这样的:
<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="test">
<wb-resource deploy-path="/" source-path="/WebContent"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
<property name="context-root" value="test"/>
<property name="java-output-path" value="build/classes"/>
</wb-module>
</project-modules>
修改后变为:
<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="test">
<wb-resource deploy-path="/" source-path="/src/main/sample/"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
<property name="context-root" value="test"/>
<property name="java-output-path" value="build/classes"/>
</wb-module>
</project-modules>
<此方法可以成功解决WEB-INF/lib/servlet-api.jar not loaded.>2012年9月
启动tomcat后,控制台输出信息:WEB-INF/lib/servlet-api.jar not loaded. See Servlet Spec 2.3, section 9.7.2。网上提供的方法一般是:保证WEB-INF/lib跟tomcat6.0 lib下的JAR包与项目的web-inf/lib没有重复的包即可。所以,将项目的web-inf/lib下的servlet-api.jar删掉就OK了。
但是,如果项目中存在使用servlet-api.jar的类怎么办呢?删掉servlet-api.jar,源程序无法编译。这时,有另一个办法可以解决这样的冲突问题:把Tomcat6.0t的lib目录下的名为servlet-api.jar的包拷贝至你的java安装目录下jre/lib/ext下就可以了。在myeclipse7.0中再次启动tomcat6.0就不会再出现前面的输出信息了。
<really ?! >
其实,对于两者的包冲突问题,都可以采用类似的方法来解决。
<really ?! >
另外:
把 webapps\maintenance\WEB-INF\lib\
下面的 servlet-api.jar 删掉吧! tomcat自己有,不需要你提供!
顺便看看其他的jar, 和 tomcat\lib 目录比较一下,tomcat已经有的,就别留着了!
eclipse下启动tomcat出现Setting property 'source' to 'org.eclipse.jst.jee.server: '错误的解决办法
在eclipse中启动tomcat时出现Setting property 'source' to 'org.eclipse.jst.jee.server:你的站点名' did not find a matching property错误
解决办法:
1、在server控制台内,在服务器上点右键--属性
2、general选项卡中点switch location
这时,location变为:/servers/tomcat6.0 server at localhost.server
3、在project explore中找到tomcat项目--Tomcat v6.0 Server at localhost.server 这个文件 ,双击打开
4、在最下面的server option里选中publis module context to separate xml file.保存。(保存时要先停止服务器)
问题完美解决。
<href="http://www.ibm.com/developerworks/opensource/library/os-eclipse-tomcat/">http://www.ibm.com/developerworks/opensource/library/os-eclipse-tomcat/
二○一二年九月九日星期日
http://www.ibm.com/developerworks/opensource/library/os-eclipse-tomcat/
一个小小的错误浪费了两天(9月11-12)2012年9月12日星期三0时43分23秒
原因所致DaoImplBase<T>
更改后
分析原因为:
1、将Class<T> clazz;这个接受子类的局部变量声明为了 私有的(private) 本应该为受保护的(protected)protected Class<T> clazz;这样做类型转换的时候就不需要用泛型clazz=(Class)<T> pt.getActualTypeArguments()[0];
2、解决 办法 :
更改 变量属性为受保护的 protected Class<T> clazz;
此处不需要用泛型接受 clazz = (Class) pt.getActualTypeArguments()[0];
经过了一番周折开始老是怀疑jar包问题,最开始总是不能加载user.hbm.xml 实体映射文件
后来通过Debug 断点测试发现在filter 过滤器中就抛出异常了 ,于是继续跟踪到 dao层的impl实现类 dao层继承的是daobase 接口的方法 ,跟踪进去发现程序不能进入save()方法,顾数据不能保存。还有可能是引用了空对象(未关联Tomcat源码所致)
posted on 2012-09-12 01:27 mcgee5201314 阅读(174) 评论(0) 编辑 收藏 举报