假设我有这个OSGI Equinox应用程序,并且我想知道bundle已加载,以及它们的状态。要做到这一点,我想到了运行控制台,但我不知道如何做到这一点。在恶劣环境下运行OSGi Equinox控制台
的应用有以下文件夹结构:
workspace/
config/
features/
bundles/
的config/
目录包含一个config.ini文件以及错误日志文件,并用插件符号名称命名的一些文件夹。
我试图从主(主)文件夹
java -jar bundles/org.eclipse.osgi_3.6.0.v20100517.jar -console -consoleLog
运行,但我得到的是一个
的OSGi>会议2013年6月4日08:57:53.023 ----------------------------------------------- eclipse.buildId =未知java.version = 1.7.0_17 java.vendor = Oracle Corporation BootLoader常量:OS = win32,ARCH = x86_64,WS = win32, NL = en_US命令行参数:-console -consoleLog
!ENTRY org.eclipse.osgi 4 0 2013-06-04 08:57:53.512!MESSAGE 应用程序错误!STACK 1 java.lang.IllegalStateException:无法通过 获取应用程序服务。确保已解析并启动org.eclipse.core.runtime 软件包(请参阅config.ini)。 在org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:74) 在org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369) 的组织。 eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) 在org.eclipse.core.runtime.adaptor.EclipseStarter.main(EclipseStarter.java:150)
这产生了一个问题知道config.ini
文件应该放在哪里。如上所述,我知道在config/
有一个,虽然我知道这个RCP应用程序使用该文件作为它的配置文件,但我不太确定可以说我已经启动的控制台是一样的。为什么?因为我已经添加了以下行bundles/config.ini
无济于事:
osgi.bundles=\
[email protected]:start \
[email protected]:start, \
[email protected]:start, \
[email protected]:start, \
[email protected]:start, \
[email protected]:start, \
[email protected]:start, \
[email protected]:start, \
[email protected]
osgi.startLevel=10
osgi.bundles.defaultStartLevel=5
任何线索,欢迎选购。提前致谢。
您可以添加config.ini的其余部分吗?我很想看到关于运行级别的任何内容。另外,我有兴趣看到日志的其余部分。 – ljgw
我已编辑原始帖子并提供额外信息。 –