在Eclipse构buildpath中使用用户库时发生ClassNotFoundException

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

我已经添加了几个第三方的JAR的从用户库(我没有使用maven或自动依赖pipe理)的项目。 在JSP中,我从项目的JAR文件引用了一个类,可以毫无问题地编译这个类,但是当我在Tomcat上部署时,JSP会引发ClassNotFoundException。 显然,Tomcat无法从我的库设置中findJAR。 我尝试创build一个运行configuration为Tomcat服务器,我设置类path匹配项目的类path设置,但我仍然得到相同的classnotfound问题。

我可以通过手动将所有项目JAR复制到WEB-INF / lib目录来解决这个问题,这样webapp就可以find所有的依赖关系,但这是荒谬的,我不认为这是解决scheme,因为这是一个维护的噩梦。

我错过了什么吗?

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

在这里输入图像描述

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

Eclipse应该为您提供生成包含所有依赖关系的WAR文件的选项:我还没有好好使用Web Tools,但是不pipe怎样,所有的依赖关系都必须在WEB-INF / lib或类加载器中,不能find他们。