Hi,
I am trying to start a Docker container based on the image created by below mentioned docker file. The service useses Consul libraries.
When starting the contained, I am getting below mentioned ClassNotFoundException. I can confirm that the Classpath is already set to valid jar in the container.
It would be very helpful if someone can guide me through.
Regards.
DockerFile
FROM osvc-docker-local.dockerhub-den.oraclecorp.com/java/serverjre:latest
MAINTAINER Brandon Johnson “brandon.johnson@oracle.com”
ADD gatekeeper-oci-1.0.0.0.tar /
ENV CLASSPATH /gatekeeper-oci-1.0.0.0/lib/consul-client-1.4.0.jar
ENTRYPOINT [“java”, “-Xmx512m”, “-Xms512m”, “-XX:+UseG1GC”, “-XX:MaxGCPauseMillis=100”, “-jar”, “/gatekeeper-oci-1.0.0.0/lib/gatekeeper-1.0.0.0.jar”]
EXPOSE 7001
ADD gatekeeper-oci-filters-1.0.0.0.tar /
ENTRYPOINT ["/gatekeeper-oci-filters-1.0.0.0/bin/gatekeeper-ingress-filters"]
Exception
java.lang.NoClassDefFoundError: com/orbitz/consul/Consul
at com.xxxxx.OSvC.xxxxx.gateway.GatewayModule.configure(GatewayModule.java:66)
at com.google.inject.AbstractModule.configure(AbstractModule.java:62)
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:340)
at com.google.inject.spi.Elements.getElements(Elements.java:110)
at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:138)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104)
at com.google.inject.Guice.createInjector(Guice.java:99)
at com.google.inject.Guice.createInjector(Guice.java:84)
at com.netflix.governator.LifecycleInjectorCreator.createInjector(LifecycleInjectorCreator.java:100)
at com.netflix.governator.LifecycleInjectorCreator.createInjector(LifecycleInjectorCreator.java:38)
at com.netflix.governator.InjectorBuilder.createInjector(InjectorBuilder.java:209)
at com.netflix.governator.InjectorBuilder.createInjector(InjectorBuilder.java:230)
at com.xxxxx.OSvC.xxxxx.gateway.Bootstrap.start(Bootstrap.java:38)
at com.xxxxx.OSvC.xxxxx.gateway.Bootstrap.main(Bootstrap.java:21)
Caused by: java.lang.ClassNotFoundException: com.orbitz.consul.Consul
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
Env Variables
C:\Users\tussinha>docker exec -it 591437cbb60e env
PATH=/usr/java/jdk-8/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=591437cbb60e
TERM=xterm
LANG=en_US.UTF-8
JAVA_VERSION=1.8.0_261
JAVA_HOME=/usr/java/jdk-8
CLASSPATH=/xxxxx-xxx-1.0.0.0/lib/consul-client-1.4.0.jar
HOME=/root