我尝试在jboss 7.1上部署一个带有eclipse和Jboss工具的osgi包。在捆绑包开始时,jboss会在我的插件(Activator)上抛出一个ClassNotFoundException
Caused by: java.lang.ClassNotFoundException: testjboss.Activator from [Module "deployment.TestJboss:1.0.0.qualifier" from Service Module Loader] 如果我使用eclipse导出插件(导出->可部署插件和片段)到jboss的部署文件夹并启动jboss,插件将在Jboss上启动,没有任何异常。OSGI-Bundle很简单,只包含"Activator“类。
我的宣言:
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: TestJboss
Bundle-SymbolicName: TestJboss
Bundle-Version: 1.0.0.qualifier
Bundle-Activator: testjboss.Activator
Import-Package: org.osgi.framework
Bundle-RequiredExecutionEnvironment: JavaSE-1.6我的build.properties:
source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.没有什么特别的,简单的OSGI-Bundle。eclipse和Jboss - OSGI出了点问题。有没有人知道哪里出了问题?
Update1: jar看起来像这样:
jbosstest.jar
|--- META-INF
|---MANIFEST.MF
|--- testjboss
|---Activator.class发布于 2013-03-12 20:31:27
我遇到了一个类似的问题,通过在清单中包含以下内容解决了这个问题
Bundle-ClassPath: .看起来有时候没有它也能工作得很好,但有时不是,从来没有想过这个问题,但这些天我总是把它包括进来。
发布于 2013-06-10 11:51:22
对于Jboss 7,它使用模块化的类加载器。您需要在manifest或jboss-deployment-structure.xml中将依赖项指定为org.osgi.framework
https://stackoverflow.com/questions/14356440
复制相似问题