PeteManchester / MediaPlayer

61 stars 20 forks source link

java 11 incompatibility #90

Closed ik666 closed 3 years ago

ik666 commented 3 years ago

running mediaplayer with a current java version will result in a NoClassDefFoundError error. Most likely grizzly has to be updated.

WARNING: HK2 service reification failed for [org.glassfish.jersey.message.internal.DataSourceProvider] with an exception:
MultiException stack 1 of 2
java.lang.NoClassDefFoundError: javax/activation/DataSource
    at java.base/java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:3137)
    at java.base/java.lang.Class.getDeclaredConstructors(Class.java:2357)
    at org.jvnet.hk2.internal.Utilities$3.run(Utilities.java:1354)
    at org.jvnet.hk2.internal.Utilities$3.run(Utilities.java:1350)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at org.jvnet.hk2.internal.Utilities.getAllConstructors(Utilities.java:1350)
    at org.jvnet.hk2.internal.Utilities.findProducerConstructor(Utilities.java:1293)
    at org.jvnet.hk2.internal.DefaultClassAnalyzer.getConstructor(DefaultClassAnalyzer.java:60)
    at org.glassfish.jersey.inject.hk2.JerseyClassAnalyzer.getConstructor(JerseyClassAnalyzer.java:124)
    at org.jvnet.hk2.internal.Utilities.getConstructor(Utilities.java:156)
    at org.jvnet.hk2.internal.ClazzCreator.initialize(ClazzCreator.java:105)
    at org.jvnet.hk2.internal.ClazzCreator.initialize(ClazzCreator.java:156)
    at org.jvnet.hk2.internal.SystemDescriptor.internalReify(SystemDescriptor.java:716)
    at org.jvnet.hk2.internal.SystemDescriptor.reify(SystemDescriptor.java:670)
    at org.jvnet.hk2.internal.ServiceLocatorImpl.reifyDescriptor(ServiceLocatorImpl.java:441)
    at org.jvnet.hk2.internal.ServiceLocatorImpl.narrow(ServiceLocatorImpl.java:2287)
    at org.jvnet.hk2.internal.ServiceLocatorImpl.access$1200(ServiceLocatorImpl.java:105)
    at org.jvnet.hk2.internal.ServiceLocatorImpl$10.compute(ServiceLocatorImpl.java:1372)
    at org.jvnet.hk2.internal.ServiceLocatorImpl$10.compute(ServiceLocatorImpl.java:1367)
    at org.glassfish.hk2.utilities.cache.internal.WeakCARCacheImpl.compute(WeakCARCacheImpl.java:105)
    at org.jvnet.hk2.internal.ServiceLocatorImpl.internalGetAllServiceHandles(ServiceLocatorImpl.java:1429)
    at org.jvnet.hk2.internal.ServiceLocatorImpl.getAllServiceHandles(ServiceLocatorImpl.java:1355)
    at org.jvnet.hk2.internal.ServiceLocatorImpl.getAllServiceHandles(ServiceLocatorImpl.java:1343)
    at org.glassfish.jersey.inject.hk2.AbstractHk2InjectionManager.getAllServiceHolders(AbstractHk2InjectionManager.java:134)
    at org.glassfish.jersey.inject.hk2.ImmediateHk2InjectionManager.getAllServiceHolders(ImmediateHk2InjectionManager.java:30)
    at org.glassfish.jersey.internal.inject.Providers.getServiceHolders(Providers.java:313)
    at org.glassfish.jersey.internal.inject.Providers.getAllServiceHolders(Providers.java:287)
    at org.glassfish.jersey.internal.inject.Providers.getAllProviders(Providers.java:346)
    at org.glassfish.jersey.internal.inject.Providers.getAllProviders(Providers.java:169)
    at org.glassfish.jersey.server.ApplicationHandler.logApplicationInitConfiguration(ApplicationHandler.java:489)
    at org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:428)
    at org.glassfish.jersey.server.ApplicationHandler.lambda$initialize$1(ApplicationHandler.java:292)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
    at org.glassfish.jersey.internal.Errors.processWithException(Errors.java:232)
    at org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:291)
    at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:258)
    at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:245)
    at org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpContainer.<init>(GrizzlyHttpContainer.java:310)
    at org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory.createHttpServer(GrizzlyHttpServerFactory.java:114)
    at org.rpi.http.HttpServerGrizzly.startServer(HttpServerGrizzly.java:82)
    at org.rpi.http.HttpServerGrizzly.<init>(HttpServerGrizzly.java:44)
    at org.rpi.main.SimpleDevice.initSimpleDevice(SimpleDevice.java:254)
    at org.rpi.main.SimpleDevice.<init>(SimpleDevice.java:101)
    at org.rpi.main.StartMe.main(StartMe.java:80)
Caused by: java.lang.ClassNotFoundException: javax.activation.DataSource
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
    ... 46 more
PeteManchester commented 3 years ago

The problem is that Java 11 does not include the JAXB libraries. StackOverflow

Added these to the mediaplayer_lib directory. I have pushed a new version to the download\beta folder

ik666 commented 3 years ago

Your fix did it. Thank you!