我目前在一个使用osgi/bndtools的项目中。我对osgi/bndtools还是个新手,所以请耐心等待。
我一直在使用EclipseIDE(2020-03)和bndtools(5.0.1)进行开发。然而,我重新格式化了我的pc,似乎无法让我的osgi程序在新的EclipseIDE/bndtools设置上工作。我目前正在使用带有bndtools(5.3.0 rel)的eclipse(2020-03)(我还没有找到下载旧版本bndtools(5.0.1)的方法。
错误摘要:当我单击bnd run description文件的“run osgi”按钮时( stub.bndrun
),我在eclipse控制台中看到以下错误: Error: Could not find or load main class aQute.launcher.Launcher
控制台中没有给出其他文本,osgi程序无法运行。
但是,当我在终端中执行以下行时,我的osgi/bnd程序确实在运行: bnd stub.bndrun
哪里 stub.bndrun
是相同的bnd运行描述文件。
其他详细信息 stub.bndrun
具体如下:
-runfw: org.apache.felix.framework;version='[5.2.0,5.2.0]'
-runee: JavaSE-1.8
-runsystemcapabilities: ${native_capability}
-resolve.effective: active
-runvm: -Dosgi.console
我认为我的问题与下面的问题相似question:could not 在主类不存在时查找它。但是我不明白上面链接中给出的问题的答案。
尝试1:根据对上述问题#27457710的回答,我已经将ApacheFelix框架(5.2.0)添加到“运行包”中,但仍然得到相同的错误消息。
我在stackoverflow(即。 Could not find or load main class [package-name]
. 但是,没有提到bndtools-我认为我的问题可能与bndtools在我的电脑上的设置方式有关。
尝试2:我已经将'biz.aquete.launcher'(3.0.0)添加到了我的'runbundles',但仍然会收到相同的错误消息。
请求你的帮助。提前谢谢。
编辑:
我加了一句 -runvm -verbose:class
至 stub.bndrun
,然后单击“运行osgi”/“调试osgi”。输出是加载的类的长列表(以及我之前看到的错误)。我已经添加了输出的前两行和最后几行。它似乎成功地加载了所有java包(加载的包都以 java.
或者 sun.
它们都来自 /usr/lib/jvm/java-8-openjdk-amd64/jre/lib
).
但是,它找不到任何osgi/bndtools包(??)。我想知道我的bndtools存储库是否设置正确?。。。我怎样才能确定是这样?
[Opened /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/rt.jar]
[Loaded java.lang.Object from /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/rt.jar]
[Loaded java.io.Serializable from /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/rt.jar]
...
[Loaded java.text.AttributedCharacterIterator$Attribute from /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/rt.jar]
[Loaded java.text.Format$Field from /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/rt.jar]
[Loaded java.text.MessageFormat$Field from /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/rt.jar]
[Loaded java.lang.Shutdown from /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/rt.jar]
[Loaded java.lang.Shutdown$Lock from /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/rt.jar]
Error: Could not find or load main class aQute.launcher.Launcher
暂无答案!
目前还没有任何答案,快来回答吧!