我正在使用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可以找到所有依赖项,但这是荒谬的,我不认为这是解决方案,因为它是维护噩梦
我错过了什么吗?
答案 0 :(得分:96)
在项目的属性中,转到部署程序集。在那里添加构建路径条目,您已手动添加为用户库。它将以部署的WAR的/WEB-INF/lib
结束。
答案 1 :(得分:3)
您需要将jar文件复制到WEB-INF / lib文件夹:这就是它们应该存在的位置。
Eclipse应该为您提供生成包含所有依赖项的WAR文件的选项:我没有使用Web Tools很长一段时间,但所有依赖项都必须在WEB-INF / lib或类中装载机将无法找到它们。