如何将所有外部JAR文件添加到Eclipse库并导出WAR文件

10
现在我已经做了一些研究,我明白在Eclipse动态Web项目中,我需要将依赖的外部jar文件放置在web-inf/lib文件夹中。不幸的是,直到现在我仅仅是在Eclipse中的构建路径上导入它们,然后在我的测试服务器的运行配置中再次导入它们。
有没有一种简单的方法可以在导出时将所有依赖的jar复制到web-inf/lib文件夹中,或者我必须手动查找每个jar,并将其放置在该文件夹中?是否有更好的方法来管理开发过程中的外部jar文件,以便我不必担心将它们导入构建路径、运行时和库文件夹?我尝试使用Project >> Properties >> Java Build Path >> Order and Export并勾选所有jar,但它们似乎仍然没有随war文件导出。
我正在使用Tomcat作为生产服务器,当我无法启动项目时,通过日志文件发现defclassnotfounderror的问题。
2个回答

30

右键单击项目 -> 属性。在属性窗口中

  1. 选择左侧的“部署程序集”
  2. 点击“添加”
  3. 选择“Java Build Path Entries”。
  4. 选择所有所需的库

右键单击项目->导出。选择Web -> .war文件。
您将在/WEB-INF/lib下找到库文件。


为什么Eclipse自己不做这件事呢...非常感谢。 - Alexsoyes
1
这是比@mercutio提供的解决方案更好的方法,因为您不必使用此方法重复依赖项。 - Jack Wilsdon
非常感谢您。在花费了无数个小时后,只有这个答案才救了我的命。 - Waleed Asif

7

未来,您应该始终在web-inf/lib文件夹中创建依赖项的副本。当它们在那里时,只需右键单击它们,然后选择“构建路径 -> 添加到构建路径”。

对于您当前的项目,我建议禁用所有当前存在于该文件夹之外的外部JAR包,然后将它们复制到其中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接