关闭

Web应用中由JavaBuildPath(.classpath文件)引起的错误总结

标签: web应用
1596人阅读 评论(0) 收藏 举报
分类:

我们在Build创建的Web应用,尤其是导入已存在的Web项目时,经常会报一些无法找到某个类的错误,比如:

The type javax.XXX.XXX cannot be resolved. It is indirectly referenced from required .class filesXXXXX.java

这往往是项目构建时,找不到类库造成的,此时我们需要进入Java Build Path界面进行配置。

进入方法:右键点击项目名称-->Properties-->Java Build Path或者右键点击项目-->Build Path-->config Build Path进入配置界面:


此时,我们注意查看每个类库名称后面有没有异常的地方,比如红色叹号或提示(Unbound)等(与不同的IDE有关),如下图所示:


此时说明Server Library(服务器类库)未找到,这种情况多见于import已存在的项目时,因为原项目的.classpath文件中的配置信息记录了项目所引用的各种类库,而与本地的IDE环境中并不匹配,所以需要重新对Build path进行配置,即重新配置.classpath文件。那么我们也建议,在团队开发项目做版本库维护时,这个.classpath文件只保存本地,不commit到svn或cvs的服务器库中。

回到上面的错误问题,首先要remove掉报错或异常的类库,然后点击Add Library...,选择本地环境中已有的匹配类库。

比如,上图中的“Server Library[Apache Tomcat v7.0]”说明本地并没有这个名称的服务器类库,remove之后,选择IDE中已配置的tomcat服务器。


点击Add Library...之后,选择Server Runtime,然后在Server Library界面中选择已配置的tomcat服务器:


点击Finish,即完成了Server Library类库的添加。


针对常见的Web项目,需要引入的类库主要包括四项,EAR Library、JRE System Library、Server Runtime、Web App Library。当然根据项目具体需求,还会引入其他类库。如图所示:


其中:

1.EAR Library 是指在项目中..\WebRoot\META-INF\MANIFEST.MF文件中定义引用的lib,

Manifest-Version: 1.0
Class-Path: 
2.JRE System Library 这个是最基础的类库,即本机配置的jdk类库,当然不同的IDE还集成了很多版本的jdk库,也可以选择引入。

3.Server Runtime,如同jdk,选择IDE集成的服务器或本地已安装的服务器。

4.Web AppLibrary,这个是指引入WebRoot\WEB-INF\lib目录下的类文件。旧的IDE没有这个类包选项时,就需要点击Add Jars...找到项目WebRoot\WEB-INF\lib下的所有类,全部导入到Libraries目录下。




0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:6173次
    • 积分:143
    • 等级:
    • 排名:千里之外
    • 原创:8篇
    • 转载:1篇
    • 译文:0篇
    • 评论:0条