You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am trying to create a Graal Substrate for deployment in a Docker container. As the result matches the host system, I suppose I have to create the substrate in a container with the target OS. So I would like to create the substrate image via command line. If I build via commandline with the same instuction as with the maven plugin, starting the application shows the following error:
java.lang.NullPointerException
at org.eclipse.osgi.internal.url.MultiplexingFactory.<clinit>(MultiplexingFactory.java:69)
at org.eclipse.osgi.storage.FrameworkExtensionInstaller.findAddURLMethod(FrameworkExtensionInstaller.java:62)
at org.eclipse.osgi.storage.FrameworkExtensionInstaller.<clinit>(FrameworkExtensionInstaller.java:55)
at org.eclipse.osgi.storage.Storage.<init>(Storage.java:222)
at org.eclipse.osgi.storage.Storage.createStorage(Storage.java:184)
at org.eclipse.osgi.internal.framework.EquinoxContainer.<init>(EquinoxContainer.java:108)
at org.eclipse.osgi.launch.Equinox.<init>(Equinox.java:53)
at org.eclipse.osgi.launch.EquinoxFactory.newFramework(EquinoxFactory.java:35)
at org.apache.felix.atomos.impl.base.AtomosBase.newFramework(AtomosBase.java:442)
at org.apache.felix.atomos.Atomos.main(Atomos.java:236)
g! Warning: NLS missing message: EVENT_ASYNC_THREAD_NAME in: org.eclipse.equinox.internal.event.ExternalMessages
Warning: NLS missing message: EVENT_NULL_EVENT in: org.eclipse.equinox.internal.event.ExternalMessages
Warning: NLS missing message: EVENT_NO_TOPICPERMISSION_PUBLISH in: org.eclipse.equinox.internal.event.ExternalMessages
Warning: NLS missing message: EVENT_DISPATCH_HANDLER_EXCEPTION in: org.eclipse.equinox.internal.event.ExternalMessages
Warning: NLS missing message: EVENT_INVALID_HANDLER_FILTER in: org.eclipse.equinox.internal.event.ExternalMessages
Warning: NLS missing message: EVENT_INVALID_HANDLER_TOPICS in: org.eclipse.equinox.internal.event.ExternalMessages
Apart from that everything seems to work.
Building with the maven plugin like the substrate.lib example, this error does not show up.
Do you know by any chance what needs to be added to the build to get rid of this error on commandline build?
The text was updated successfully, but these errors were encountered:
It appears the SetAccessible.bytes resource isn't included. The org.eclipse.osgi JAR should have a file META-INF/native-image/resource-config.json. This file {"pattern":"org/eclipse/osgi/internal/url/SetAccessible.bytes"} which should cause the resource to be included. Regardless, IIRC URL handlers in substrate are not supportable because they do not let any other protocols be enabled besides what they build into the executable. So this error is benign. It is a print stacktrace from where we catch all exceptions in MultiplexingFactory.<clinit>
Thanks for the response. It seems that is an issue in native-image. I tried to run the command with the module-path, but --add-modules ALL-MODULE-PATH does not work as expected. And actually the only variant that really worked as expected was using the --class-path option and listing all jars explicitly. All other options like using the directory that contains all jars fail.
I am trying to create a Graal Substrate for deployment in a Docker container. As the result matches the host system, I suppose I have to create the substrate in a container with the target OS. So I would like to create the substrate image via command line. If I build via commandline with the same instuction as with the maven plugin, starting the application shows the following error:
Apart from that everything seems to work.
Building with the maven plugin like the substrate.lib example, this error does not show up.
Do you know by any chance what needs to be added to the build to get rid of this error on commandline build?
The text was updated successfully, but these errors were encountered: