Skip to content

No-fallback native image - Cannot instantiate class: org.eclipse.jetty.jndi.InitialContextFactory #2470

Open
@MusicDin

Description

@MusicDin

Describe the issue
When building no-fallback native-image there is no error. But when image is run I get the following error:

2020-05-17 10:46:17.712 WARNING -- org.eclipse.jetty.webapp.WebAppContext -- Failed startup of context o.e.j.w.WebAppContext@3fa7964{/,file:///var/tmp/kumuluzee-tmp-webapp12797499415240148367/,UNAVAILABLE}
javax.naming.NoInitialContextException: Cannot instantiate class: org.eclipse.jetty.jndi.InitialContextFactory [Root exception is java.lang.ClassNotFoundException: org.eclipse.jetty.jndi.InitialContextFactory]
	at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:719)
	at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:305)
	at javax.naming.InitialContext.init(InitialContext.java:236)
	at javax.naming.InitialContext.<init>(InitialContext.java:184)
	at org.eclipse.jetty.plus.webapp.EnvConfiguration.createEnvContext(EnvConfiguration.java:257)
	at org.eclipse.jetty.plus.webapp.EnvConfiguration.preConfigure(EnvConfiguration.java:67)
	at org.eclipse.jetty.webapp.WebAppContext.preConfigure(WebAppContext.java:506)
	at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:544)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:138)
	at org.eclipse.jetty.server.Server.start(Server.java:415)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:108)
	at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113)
	at org.eclipse.jetty.server.Server.doStart(Server.java:382)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
	at com.kumuluz.ee.jetty.JettyServletServer.startServer(JettyServletServer.java:83)
	at com.kumuluz.ee.EeApplication.initialize(EeApplication.java:375)
	at com.kumuluz.ee.EeApplication.<init>(EeApplication.java:73)
	at com.kumuluz.ee.EeApplication.main(EeApplication.java:85)
Caused by: java.lang.ClassNotFoundException: org.eclipse.jetty.jndi.InitialContextFactory
	at com.oracle.svm.core.hub.ClassForNameSupport.forName(ClassForNameSupport.java:60)
	at java.lang.Class.forName(DynamicHub.java:1224)
	at com.sun.naming.internal.VersionHelper.loadClass(VersionHelper.java:123)
	at com.sun.naming.internal.VersionHelper.loadClass(VersionHelper.java:96)
	at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:716)
	... 18 more

For generating configuration files I'm using tracing agent.

Steps to reproduce the issue
Please include both build steps as well as run steps

  1. git clone https://github.com/MusicDin/graalvm-project.git
  2. mvn clean package
  3. java -agentlib:native-image-agent=config-output-dir=api/src/main/resources/META-INF/native-image -cp api/target/classes:api/target/dependency/* com.kumuluz.ee.EeApplication
native-image --no-fallback \
  --allow-incomplete-classpath \
  -H:+ReportUnsupportedElementsAtRuntime \
  -H:+ReportExceptionStackTraces \
  -H:+PrintClassInitialization \
  -H:EnableURLProtocols=http,https \
  -H:Log=registerResource \
  -H:ReflectionConfigurationFiles=api/src/main/resources/META-INF/native-image/reflect-config.json \
  -H:ResourceConfigurationFiles=api/src/main/resources/META-INF/native-image/resource-config.json \
  -cp api/target/classes:api/target/dependency/* com.kumuluz.ee.EeApplication graalvm-basic
  1. Run the image: ./graalvm-basic

At the 3. step I also tried calling http://localhost:8080/v1/test and http://localhost:8080/servlet while tracing agent was running.

Describe GraalVM and your environment:

  • OS: Tried on Ubuntu and Manjaro
  • JDK: openJDK 11
  • GraalVM version:
openjdk 11.0.6 2020-01-14
OpenJDK Runtime Environment GraalVM CE 20.0.0 (build 11.0.6+9-jvmci-20.0-b02)
OpenJDK 64-Bit Server VM GraalVM CE 20.0.0 (build 11.0.6+9-jvmci-20.0-b02, mixed mode, sharing)
  • Framework: KumuluzEE
  • Arhitecture: AMD64

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions