从 Eclipse 导出后,WAR 文件中缺少一些必要的库 - 为什么?

2022-09-02 21:04:59

我接管了一个包含一些Web服务的大学项目,通过将项目导出为WAR文件,一些库包含在文件中(例如Axis2),有些则没有(休眠,JDBC驱动程序)。此外,添加到类路径的 jar 也尚未导出。所有库都位于硬盘驱动器上的文件夹中,这意味着它们不在 eclipse 文件夹中的某个位置。如果我在使用WinRAR导出后打开WAR文件并手动将库添加到文件中,则Web服务将正常工作,但这不是一个好的解决方案...这个问题的原因可能是什么?我该如何解决它?


答案 1

Eclipse 要包含在未放在 WEB-INF/lib 中的 war 文件中的 jar 依赖项不是由通常的“项目导出/导入”管理的,而是由动态 Web 项目首选项中的单独面板(3.6:部署程序集,3.5:Java EE 模块依赖项)管理的。

alt text

注意:由于答案最初是写的,Maven已经成为事实上的打包工具。与其依赖 Eclipse 的功能,我强烈建议使用 Maven 打包。它具有使项目立即可用于所有现代IDE的额外好处。


答案 2