未找到 Domino 9 更新站点 osgi class
Domino 9 Update site osgi class not found
我正在尝试使用 Updatesite.nsf 将 jar 部署到测试服务器。在这种情况下,我可以使用 http osgi ss 命令在服务器控制台上看到 jdbc 驱动程序插件。但是当我使用它时,我得到一个 java.lang.ClassNotFoundException com.mysql.jdbc.driver。我错过了什么或做错了什么。谢谢
直接的答案是调用 Class.forName
的代码需要以某种方式在其 class 加载程序中包含 MySQL 驱动程序,XPage 或 in-NSF Java默认没有。
稍微扩展一下:
如果您尝试从 XPage 或 NSF 中的 Java 代码调用它,它必须是来自另一个插件的 XPages 库的一部分,而该插件又依赖于并重新导出驱动程序插件。
如果你想从另一个插件调用它,那个插件应该有一个 Require-Bundle
或 Import-Package
条目来引入它。
如果您将 class 插入 jvm/lib/ext
,默认情况下 NSF 将可以使用 class,尽管这无疑会放弃基于 OSGi 的部署的优点。
它适用于 XPages JDBC 支持的原因是向导在 Designer 中创建的包装插件包含一个特殊的扩展点,用于向需要它的 ExtLib 代码提供驱动程序 class ,但它们不会自动对 XPages 应用程序本身可用。
我正在尝试使用 Updatesite.nsf 将 jar 部署到测试服务器。在这种情况下,我可以使用 http osgi ss 命令在服务器控制台上看到 jdbc 驱动程序插件。但是当我使用它时,我得到一个 java.lang.ClassNotFoundException com.mysql.jdbc.driver。我错过了什么或做错了什么。谢谢
直接的答案是调用 Class.forName
的代码需要以某种方式在其 class 加载程序中包含 MySQL 驱动程序,XPage 或 in-NSF Java默认没有。
稍微扩展一下:
如果您尝试从 XPage 或 NSF 中的 Java 代码调用它,它必须是来自另一个插件的 XPages 库的一部分,而该插件又依赖于并重新导出驱动程序插件。
如果你想从另一个插件调用它,那个插件应该有一个 Require-Bundle
或 Import-Package
条目来引入它。
如果您将 class 插入 jvm/lib/ext
,默认情况下 NSF 将可以使用 class,尽管这无疑会放弃基于 OSGi 的部署的优点。
它适用于 XPages JDBC 支持的原因是向导在 Designer 中创建的包装插件包含一个特殊的扩展点,用于向需要它的 ExtLib 代码提供驱动程序 class ,但它们不会自动对 XPages 应用程序本身可用。