在Eclipse构建路径中使用用户库时出现ClassNotFoundException

时间:2011-08-10 03:44:11

标签: eclipse tomcat classnotfoundexception buildpath

我正在使用Eclipse 3.7(STS)和在IDE中运行的Tomcat 7。我创建了一个新的Dynamic Web项目,并将一个JSP文件添加到Web内容根文件夹中。我可以运行Tomcat并从Eclipse中访问JSP而没有任何问题。

我在用户库中为项目添加了一些第三方JAR(我没有使用maven或auto dependecies managment)。在JSP中,我从项目的JAR文件中引用了一个类,我可以毫无问题地编译它,但是当我在Tomcat上部署时,JSP会抛出ClassNotFoundException。显然,Tomcat无法从我的库设置中找到JAR。我尝试为Tomcat Server创建Run As配置,并设置类路径以匹配项目的类路径设置,但我仍然遇到相同的classnotfound问题。

我可以通过手动将所有项目JAR复制到WEB-INF / lib目录来解决这个问题,因此webapp可以找到所有依赖项,但这是荒谬的,我不认为这是解决方案,因为它是维护噩梦

我错过了什么吗?

2 个答案:

答案 0 :(得分:96)

在项目的属性中,转到部署程序集。在那里添加构建路径条目,您已手动添加为用户库。它将以部署的WAR的/WEB-INF/lib结束。

enter image description here

答案 1 :(得分:3)

您需要将jar文件复制到WEB-INF / lib文件夹:这就是它们应该存在的位置。

Eclipse应该为您提供生成包含所有依赖项的WAR文件的选项:我没有使用Web Tools很长一段时间,但所有依赖项都必须在WEB-INF / lib或类中装载机将无法找到它们。