我目前正在尝试开始使用eclipse开发/使用OSGi包。问题是组合eclipse / OSGi真的很难设置,而且看起来非常重。我用Activator创建了一个简单的“Hello World”包。我尝试将其作为“OSGi框架”运行,但我因错误/异常而被垃圾邮件发送。首先,我得到了很多这些错误:
!ENTRY org.eclipse.update.configurator 4 0 2015-04-18 15:03:31.119
!MESSAGE Could not install bundle plugins/org.eclipse.team.core_3.7.0.v20130514-1224.jar A bundle is already installed with the name "org.eclipse.team.core" and version "3.7.0.v20130514-1224"
我为eclipse附带的每个捆绑包都能得到这个。之后我得到以下异常:
org.osgi.framework.BundleException: Exception in org.eclipse.debug.internal.ui.DebugUIPlugin.start() of bundle org.eclipse.debug.ui.
Caused by: java.lang.IllegalStateException: Workbench has not been created yet.
之后我得到一个与码头有关的例外(为什么?)
org.osgi.framework.BundleException: Exception in org.eclipse.equinox.http.jetty.internal.Activator.start() of bundle org.eclipse.equinox.http.jetty.
Caused by: org.osgi.service.cm.ConfigurationException: default : Permission denied
Caused by: java.net.SocketException: Permission denied
让程序打印“Hello World”似乎很麻烦。有谁知道如何为插件项目设置eclipse?
答案 0 :(得分:2)
嗯,因为事实证明,在创建一个新项目时,eclipse有点草率。在Juno中,您可以创建“插件项目”或“插件开发>插件项目”。第一个是eclipse插件,后者是普通的OSGi包。不幸的是,这名为。
我创建了一个新的OSGi捆绑项目,一个新的“OSGi框架”配置并添加了基本要素:
org.apache.felix.gogo.command
org.apache.felix.gogo.runtime
org.apache.felix.gogo.shell
org.eclipse.osgi.console
和我自己的Bundles(com.vogella.osgi.firstbundle
)到Bundles。现在一切正常,线程启动并打印到控制台,我可以输入ss
/ start
等命令。