问题描述
我正在尝试在 Liberty 上部署企业 OSGi 应用程序(EBA 存档),但由于捆绑解决问题而无法启动.我尝试使用 OSGi 控制台来解决这个问题,但是当我 telnet 到控制台端口时,我只能看到服务器包,而不是我的应用程序包.我既看不到包存储库中的包,也看不到我在应用程序中使用的包.有没有办法在完整配置文件中提供相同的功能,其中提供了 wsadmin shell 来调试此类问题?如果此功能不可用,如何调试 OSGi 问题?
I'm trying to deploy an Enterprise OSGi application (EBA archive) on Liberty but it fails to start because of bundle resolve problems. I tryed to to use the OSGi console to debut this issue but when I telnet to the console port I can only see the server bundles, not my application bundles. I cannot neither see the bundles from the bundle repository, that I use from my application. Is there a way to have the same feature available in full profile, where a wsadmin shell is provided to debug this kind of problems? If this feature is not available, how to debug OSGi problems?
推荐答案
** 更新:Liberty 现在有一个 osgiAppConsole-1.0 特性:https://developer.ibm.com/wasdev/docs/osgi-application-console-feature/ **
** Update: Liberty now has an osgiAppConsole-1.0 feature: https://developer.ibm.com/wasdev/docs/osgi-application-console-feature/ **
Liberty 没有用于 OSGi 应用程序的 OSGi 控制台.osgiConsole 功能是针对运行时的,而不是针对 OSGi 应用程序的.您的应用程序很可能没有达到您可以在运行时看到它的程度,因为它可能在部署期间无法解析.您应该会看到一条确定原因的解析错误消息,您可以使用它来确定它在寻找什么(例如包或服务),然后您可以调查应该提供什么.如果您没有收到错误消息或需要帮助找出缺失的内容,我建议您在 wasdev.net 论坛上发帖.
Liberty does not have an OSGi console for OSGi applications. The osgiConsole feature is for the runtime, not for OSGi applications. The chances are your application is not getting to the point where you would be able to see it in the runtime because it is probably failing resolution during deployment. You should see a resolution error message which identifies the cause and you can use that to determine what it's looking for (e.g. the package or service) and so you can then investigate what should be providing it. If you're not getting an error message or need help working out what's missing, I'd recommend posting on the wasdev.net forum.
这篇关于如何调试部署在自由配置文件上的 OSGi 包的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!