Install non bundle files: [org.nuxeo.osgi.application.loader.FrameworkLoader] Failed to install bundle

Is it possible to install non bundle files in nuxeo, I tried to add some jars needed so that Nuxeo birt works. I found that ticket … if it's not possible where should I put those jars?

In startup I have that kind of errors:

2015-08-06 10:49:28,426 ERROR [localhost-startStop-1] [org.nuxeo.osgi.application.loader.FrameworkLoader] Failed to install bundle: C:\nuxeo-cap-7.3-tomcat\nxserver\bundles\org.eclipse.core.resources-3.8.1.v20121114-124432.jar
org.osgi.framework.BundleException: Failed to start bundle at: C:\nuxeo-cap-7.3-tomcat\nxserver\bundles\org.eclipse.core.resources-3.8.1.v20121114-124432.jar with activator: org.eclipse.core.resources.ResourcesPlugin
    at org.nuxeo.osgi.BundleImpl.start(BundleImpl.java:299)
    at org.nuxeo.osgi.BundleRegistry.doRegister(BundleRegistry.java:177)
    at org.nuxeo.osgi.BundleRegistry.register(BundleRegistry.java:125)
    at org.nuxeo.osgi.BundleRegistry.install(BundleRegistry.java:98)
    at org.nuxeo.osgi.OSGiAdapter.install(OSGiAdapter.java:186)
    at org.nuxeo.osgi.application.loader.FrameworkLoader.install(FrameworkLoader.java:278)
    at org.nuxeo.osgi.application.loader.FrameworkLoader.doStart(FrameworkLoader.java:234)
    at org.nuxeo.osgi.application.loader.FrameworkLoader.start(FrameworkLoader.java:126)
    at org.nuxeo.runtime.deployment.NuxeoStarter.start(NuxeoStarter.java:118)
    at org.nuxeo.runtime.deployment.NuxeoStarter.contextInitialized(NuxeoStarter.java:91)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4994)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5492)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649)
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:672)
    at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1861)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.SecurityException: class "org.eclipse.core.runtime.IStatus"'s signer information does not match signer information of other classes in the same package
    at java.lang.ClassLoader.checkCerts(ClassLoader.java:895)
    at java.lang.ClassLoader.preDefineClass(ClassLoader.java:665)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:758)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1227)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1690)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
    at java.lang.Class.getConstructor0(Class.java:3075)
    at java.lang.Class.newInstance(Class.java:412)
    at org.nuxeo.osgi.BundleImpl.getActivator(BundleImpl.java:275)
    at org.nuxeo.osgi.BundleImpl.start(BundleImpl.java:291)
    ... 22 more
0 votes

1 answers

3764 views

ANSWER



Hi,

Non bundle JARs must go into lib or nxserver/lib, not in nxserver/bundles.

Note that the Caused by: java.lang.SecurityException: class "org.eclipse.core.runtime.IStatus"'s signer information does not match signer information of other classes in the same package issue will probably still happen: it is raised when there is a collision between signed and unsigned (or differently signed) classes in the same Java package (here it is org.eclipse.core.runtime). The easier fix is to remove the signature.

Note also that org.eclipse.core.resources-3.8.1.v20121114-124432.jar embeds classes already present in the classpath:

nuxeo-cap-7.3-tomcat]$ rgrep org.eclipse.core.runtime.IStatus
Fichier binaire bin/nuxeo-launcher.jar correspondant
Fichier binaire nxserver/lib/org.eclipse.equinox.common-3.6.0.v20100503.jar correspondant

I tried to add some jars needed so that Nuxeo birt works

What is the issue with BIRT? Had you experienced some problems with the Nuxeo BIRT Marketplace Package ?
It was a pain to integrate BIRT because of their relocated dependencies. You have little chances to succeed going straight forward that way (“adding some jars needed”). You should rather report your issue, waiting for or contributing a fix to https://github.com/nuxeo/nuxeo-birt or https://github.com/nuxeo/marketplace-birt

Thanks

1 votes



Is it related to your Nuxeo-birt-create-model-error question?
08/06/2015

Yes it is, and related to that one too https://answers.nuxeo.com/general/q/98137ab9fe3b43c08125b4d12ad57943/Nuxeo-birt-create-model-error. I tried to install it from github and as mentioned by Thierry Martins I tried to manually copy the dependencies jars into Nuxeo. but not working. but https://github.com/nuxeo/marketplace-birt is working though. Thank you.
08/06/2015