【问题标题】:How to integrate Liferay 7 with Apache POI? - extra details如何将 Liferay 7 与 Apache POI 集成? - 额外的细节
【发布时间】:2025-11-27 08:55:01
【问题描述】:

我遇到了这个答案How to integrate Liferay DXP with Apache POI? 关于我的问题,但我还有几个未回答的问题:

您是如何设法找到所有必需的包以排除在 bnd.bnd 文件中导入的?

我在 ECLIPSE IDE 中使用 Liferay 7.0 Workspace 尝试了同样的事情,只有“poi”、“poi-ooxml”和“poi-ooxml-schemas”,版本:“3.17”以及这 3 个 jar 的所有依赖项并得到了我无处可去。

我不得不做很多编译、部署、转到 gogo shell 并尝试启动捆绑包并获取一个新的缺失导入包并将其添加到排除列表中,这样做我浪费了 8-9 个小时并得到了大量排除的软件包,但捆绑包仍然无法正常工作。

我想知道您使用了什么(IDE 或其他程序)以及您是如何找到不必要的依赖项并删除它们的?

这对于像这种 POI 的未来案例非常有帮助。

谢谢,

【问题讨论】:

    标签: java apache-poi osgi build.gradle liferay-7


    【解决方案1】:

    我通常找到它们的方法是构建一个包,部署它,登录到 gogo 并尝试启动它,然后处理它报告的内容。

    这将指向一个依赖项,无论是直接的还是传递的,您都需要包含或排除(使用 !package 语法)。

    清洗、冲洗、重复,直到您的捆绑包开始。

    【讨论】:

    • 所以你基本上说你做了和我完全一样的事情,但是你工作得更快了 :D ?我认为有一种工具或模式可以测试捆绑包以立即查看所有必需的依赖项,而不是在解决它们时一个接一个。另外,您如何知道何时排除以及何时添加所需的依赖项?