访问jsp文件报如下错误:
500 Servlet Exception
/games/sxd/index.jsp:19: 嗾款 com.mayi.base.service.ChartboardService
?{? D:\work\mayi.base\bin\com\mayi\base\service\ChartboardService.class
{?w ?H, 50.0? 49.0
?d??n蒎?M?n??P?-
ChartboardService chartboardService = (ChartboardService)ac.getBean("chartboardService");
^
1 ?
Resin-3.0.21 (built Thu, 10 Aug 2006 12:03:19 PDT)
1、eclipse的工程的build path引用的jar和工程的webinfo/lib包下所包含的jar包的作用有什么区别?
我遇到的一个问题是,lib中缺失一个jar,当我直接把这个包拷到工程的lib目录时,clean工程rebuild,还是会报错误,但是我通过build path的add Extenrnal jar将jar包引入工程,自动编译,则工程不报错.想请教下,这是什么原因.
因为eclipse把build path的配置写在了项目的.classpath文件中,add Extenrnal jar将jar包引入到工程,.classpath文件中的内容就会被更新,所以不就会报错。
有时直接把jar复制到项目的WEB-INF/lib文件夹中,然后刷新项目,eclipse都会自动把jar在build path中引用。
如果jar不是在build path里删除引用,而是自己直接把jar删除或者移到另外一个位置,刷新项目就会出现错误,要去build path里把引用删除。
拷到lib目录下还不够,还要将build Path里的路径设置为引用lib目录下的路径。
选择:bulid path->Add JARs->选择你的工程,找到lib目录,找到你拷贝进来的jar,这里只显示还未加进工程引用的jar,已经添加引用的是不会显示的!找到后,确定。
上面问题的解决办法将java compiler 中1.6更换成1.5
2、eclipse web工程build path中的jdk版本和java compiler compliance level jdk区别
build path的JDK版本是你开发的时候编译器需要使用到的,例如,如果用的JDK1.4就不能使用泛型。而java compiler compliance level设置的是你写好的JAVA代码按照什么JDK版本级别编译,例如:设置的是1.4,编译出来的class文件可以在1.4以上的JRE上运行,如果用的是5.0级别编译,就不能运行在1.4的环境里面,会提示版本过高。
只要build path的JDK版本高于或等于java compiler compliance level里面的级别都可以
build path里面是你的class文件的运行环境级别,非编译器需要使用到的
如果在Preferences中 installed jres中增加JDK1.6或是1.5的话。
那么你在java compiler compliance level 中设置的话,就会对应相应的版本。
如果只设置了JDK1.6的话,而在java compiler compliance level 选中1.5的话,会提示安装1.5。