Commit 9ed310c
authored
fix: add Multi-Release manifest attribute to shaded JARs for GraalVM/Truffle support (#3487)
GraalVM/Truffle JARs are transitively included in protocol module shaded JARs
(e.g. gremlin via arcadedb-integration -> arcadedb-engine -> GraalVM). The
maven-shade-plugin strips the Multi-Release: true manifest attribute, causing
Truffle's CheckMultiReleaseSupport check to use the base class (returns false)
instead of the Java-9+ versioned class (returns true).
Since shaded JARs sort alphabetically before the individual truffle-api and
polyglot JARs, the JVM always loaded the broken version first, resulting in
Engine$ImplHolder initialization failure.
Fix: add ManifestResourceTransformer with Multi-Release: true to the parent
pom shade plugin configuration, as recommended by the GraalVM documentation
for Uber/shaded JAR setups.1 parent d14e063 commit 9ed310c
1 file changed
Lines changed: 9 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
396 | 396 | | |
397 | 397 | | |
398 | 398 | | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
399 | 408 | | |
400 | 409 | | |
401 | 410 | | |
| |||
0 commit comments