Apache Sling:配置 Oracle 钱包时出现 Sling 错误 - java.lang.NoClassDefFoundError: oracle/security/pki/OracleWallet

问题描述

我正在尝试配置使用 Oracle Wallets 的 DB Connect 连接,但在 apache sling 错误日志中不断遇到以下错误

未找到 PKI 类。要使用“connect /”功能,oraclepki.jar 必须在类路径中:java.lang.NoClassDefFoundError: oracle/security/pkI/OracleWallet

我已将 osdt_cert.jar、osdt_core.jar、ojdbc6-12.1.0.1.jar 和 oraclepki.jar 放在 portal/lib 目录中,然后我在启动 sling 应用程序时,已经尝试了几个条目,通过属性将上述文件放在 java 类路径中。
但似乎没有任何效果

请注意,我使用的是 Apache Sling 6 版本。

也尝试了以下解决方案。但它也没有奏效。
https://community.splunk.com/t5/All-Apps-and-Add-ons/Error-when-configuring-DB-Connect-3-1-4-and-Oracle-Wallets/m-p/484200

如果您对如何解决上述错误有任何建议,请告诉我。
谢谢

解决方法

我尝试使用 Bnd 工具、Eclipse 和 Maven 捆绑插件pki jar 创建一个 OSGI 捆绑包。

Bnd 工具在为 pki jar 创建 OSGI 包时出现以下错误。并且也无法从 Eclipse 创建 OSGI 包。

oracle_wallet_bnd_tool]$ ./bnd.sh wrap ./input/oraclepki.jar 错误 000: /data/workspace/portal/VFI/oracle_wallet/oracle_wallet_bnd_tool/./input/oraclepki.jar 默认包'.' Import-Package 语法不允许。 这可能是由 Eclipse 中的编译错误引起的,因为 Eclipse 创建 有效的类文件,无论编译错误如何。 以下包从默认包导入 null

已使用 Maven 包插件pki jar 创建了 OSGI 包,没有任何错误。 pki 包至少需要一个依赖项。 但是在部署tomcat时,它给出了上述在apache sling日志中未找到PKI类的错误

我们已经尝试使用 Maven 包插件为 ojdbc6 创建 OSGI 包,其中包含 oraclepki、osdt_cert 和 osdt_core 依赖项。也没有成功。