eclipse几个问题

访问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。

posted @ 2013-06-27 17:28  耐不住de小寂  阅读(253)  评论(0)    收藏  举报