-
Notifications
You must be signed in to change notification settings - Fork 4
Closed
Description
Summary
The 0.0.8 release jar appears to be missing Java 21 classes, resulting in a ClassNotFoundException
Steps to reproduce
- Upgrade to the 0.0.8 release.
- Execute code using Java 21.
ClassNotFoundExceptionis generated.
Investigation
Inspecting the contents of the 0.0.8 jar, it appears to have missing classes...
0.0.7 jar
> unzip -t virtual-threads-bridge-0.0.7.jar | grep 21
testing: META-INF/versions/21/ OK
testing: META-INF/versions/21/io/ OK
testing: META-INF/versions/21/io/github/ OK
testing: META-INF/versions/21/io/github/thunkware/ OK
testing: META-INF/versions/21/io/github/thunkware/vt/ OK
testing: META-INF/versions/21/io/github/thunkware/vt/bridge/ OK
testing: META-INF/versions/21/io/github/thunkware/vt/bridge/ThreadProvider21.class OK
testing: META-INF/versions/21/io/github/thunkware/vt/bridge/ThreadBuilders21$PlatformThreadBuilder.class OK
testing: META-INF/versions/21/io/github/thunkware/vt/bridge/ThreadBuilders21$VirtualThreadBuilder.class OK
testing: META-INF/versions/21/io/github/thunkware/vt/bridge/ThreadBuilders21.class OK
0.0.8 jar
> unzip -t virtual-threads-bridge-0.0.8.jar | grep 21
(no classes)
Local build
Building the project locally, the jar contains Java 21 classes and works correctly.
Exception
java.lang.IllegalStateException: Cannot create ThreadProvider
at 6bc6660d778dec84d62bc72b295ffd7b.io.github.thunkware.vt.bridge.ThreadProviderFactory.createThreadProvider(ThreadProviderFactory.java:50)
at 6bc6660d778dec84d62bc72b295ffd7b.io.github.thunkware.vt.bridge.ThreadProviderFactory.getThreadProvider(ThreadProviderFactory.java:18)
at 6bc6660d778dec84d62bc72b295ffd7b.io.github.thunkware.vt.bridge.ThreadProvider.getThreadProvider(ThreadProvider.java:144)
at 6bc6660d778dec84d62bc72b295ffd7b.io.github.thunkware.vt.bridge.ThreadTool.hasVirtualThreads(ThreadTool.java:31)
Caused by: java.lang.ClassNotFoundException: 6bc6660d778dec84d62bc72b295ffd7b.io.github.thunkware.vt.bridge.ThreadProvider21
at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:42)
at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:225)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:210)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:205)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:421)
at java.base/java.lang.Class.forName(Class.java:412)
at 6bc6660d778dec84d62bc72b295ffd7b.io.github.thunkware.vt.bridge.ThreadProviderFactory.createThreadProvider(ThreadProviderFactory.java:58)
at 6bc6660d778dec84d62bc72b295ffd7b.io.github.thunkware.vt.bridge.ThreadProviderFactory.createThreadProvider(ThreadProviderFactory.java:48)
... 3 more
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels