0

我正在 Eclipse Luna Java EE 版中创建一个简单的 Bundle,并且能够使用 Equinox 框架在 Eclipse 中运行该包。

当我将此捆绑包(导出->插件开发->可部署插件和片段)直接导出到 Karaf-3.0.3 的部署目录时,捆绑包没有启动并且 karaf 日志显示(注意:Karaf 部署到C:\Karaf303 目录)。感谢您的任何见解:

2015-02-16 09:47:26,747 | ERROR | \Karaf303/deploy | fileinstall                      | 7 - org.apache.felix.fileinstall - 3.4.2 | Failed to install artifact: C:\Karaf303\deploy\plugins
java.net.MalformedURLException: Invalid syntax for instruction [Bundle-SymbolicName=C:\Karaf303\deploy\plugins]. Take a look at http://www.aqute.biz/Code/Bnd.
    at org.ops4j.pax.swissbox.bnd.BndUtils.parseInstructions(BndUtils.java:302)[2:org.ops4j.pax.url.wrap:2.3.0]
    at org.ops4j.pax.url.wrap.internal.Parser.<init>(Parser.java:116)[2:org.ops4j.pax.url.wrap:2.3.0]
    at org.ops4j.pax.url.wrap.internal.Connection.<init>(Connection.java:67)[2:org.ops4j.pax.url.wrap:2.3.0]
    at org.ops4j.pax.url.wrap.internal.Activator$1.createConnection(Activator.java:59)[2:org.ops4j.pax.url.wrap:2.3.0]
    at org.ops4j.pax.url.wrap.internal.Activator$1.createConnection(Activator.java:49)[2:org.ops4j.pax.url.wrap:2.3.0]
    at org.ops4j.pax.url.commons.handler.HandlerActivator$Handler.openConnection(HandlerActivator.java:222)[2:org.ops4j.pax.url.wrap:2.3.0]
    at org.apache.felix.framework.URLHandlersStreamHandlerProxy.openConnection(URLHandlersStreamHandlerProxy.java:271)[org.apache.felix.framework-4.2.1.jar:]
    at java.net.URL.openConnection(URL.java:971)[:1.7.0_51]
    at java.net.URL.openStream(URL.java:1037)[:1.7.0_51]
    at org.apache.felix.fileinstall.internal.DirectoryWatcher.install(DirectoryWatcher.java:943)[7:org.apache.felix.fileinstall:3.4.2]
    at org.apache.felix.fileinstall.internal.DirectoryWatcher.install(DirectoryWatcher.java:865)[7:org.apache.felix.fileinstall:3.4.2]
    at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:482)[7:org.apache.felix.fileinstall:3.4.2]
    at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:358)[7:org.apache.felix.fileinstall:3.4.2]
    at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:310)[7:org.apache.felix.fileinstall:3.4.2]
4

1 回答 1

0

找出问题所在 - Eclipse 正在将 jar 导出到 Karaf 的指定部署目录,但将 jar 放在部署下的子目录 plugins 下。将 JAR 直接移动到 deploy 下使其部署成功。

于 2015-02-16T18:05:10.050 回答