近期,整合tomcat和osgi。参照了dinstone《扩展Tomcat支持OSGi应用服务》。
因为牵扯到从外部启动equinox,所以使用EclipseStarter这个类。很自然的将这个类对应的jar包(org.elipse.osgi)放到了java工程下自建的lib文件夹下。之后build path。导出工程。放置在tomcat的lib文件夹下。并在conf/server.xml文件中配置了Listener标签。
在tomcat启动时抛出java.lang.NoClassDefFoundError org/eclipse/osgi/framework/internal/core/FrameworkProperties。
从外部看,就是tomcat下lib文件夹下jar包引用其他类,找不见引用类的错误。大概是类加载的问题。
怎样来解决这个问题呢?如果能指出出错的原因就更好了。
因为牵扯到从外部启动equinox,所以使用EclipseStarter这个类。很自然的将这个类对应的jar包(org.elipse.osgi)放到了java工程下自建的lib文件夹下。之后build path。导出工程。放置在tomcat的lib文件夹下。并在conf/server.xml文件中配置了Listener标签。
在tomcat启动时抛出java.lang.NoClassDefFoundError org/eclipse/osgi/framework/internal/core/FrameworkProperties。
从外部看,就是tomcat下lib文件夹下jar包引用其他类,找不见引用类的错误。大概是类加载的问题。
怎样来解决这个问题呢?如果能指出出错的原因就更好了。
java.lang.SecurityException:class "org.osgi.framework.BundleReference"'s singer information does not match signer information of other classes in the same package。