0

I'm writing an application using Quarkus and GraalVM to build a native image. I use scriptella for ETL and the build keeps failing for Janino driver. As far as i can tell, there is a deprecated method org.codehaus.janino.ScriptEvaluator.setExtendedType(java.lang.Class) and it fails because of it'S absence in janino V3.1.9 I have reflection-config.json set up correctly and works for other scriptella drivers such as csv. Any idea how can i do a workaround the deprecated method?

build output:

========================================================================================================================
GraalVM Native Image: Generating 'demo-1.0.0-SNAPSHOT-runner' (executable)...
========================================================================================================================
[1/7] Initializing...                                                                                    (9,8s @ 0,40GB)
 Version info: 'GraalVM 22.3.0.1-Final Java 17 Mandrel Distribution'
 Java version info: '17.0.5+8'
 C compiler: gcc (redhat, x86_64, 8.5.0)
 Garbage collector: Serial GC
 8 user-specific feature(s)
 - com.oracle.svm.thirdparty.gson.GsonFeature
 - io.quarkus.caffeine.runtime.graal.CacheConstructorsFeature
 - io.quarkus.hibernate.orm.runtime.graal.DisableLoggingFeature: Disables INFO logging during the analysis phase for the [org.hibernate.Version, org.hibernate.annotations.common.Version, org.hibernate.dialect.Dialect] categories
 - io.quarkus.runner.Feature: Auto-generated class by Quarkus from the existing extensions
 - io.quarkus.runtime.graal.DisableLoggingFeature: Disables INFO logging during the analysis phase for the [org.jboss.threads] categories
 - io.quarkus.runtime.graal.ResourcesFeature: Register each line in META-INF/quarkus-native-resources.txt as a resource on Substrate VM
 - org.hibernate.graalvm.internal.GraalVMStaticFeature: Hibernate ORM's static reflection registrations for GraalVM
 - org.hibernate.graalvm.internal.QueryParsingSupport: Hibernate ORM's support for HQL Parser in GraalVM
10:20:02,153 INFO  [org.hib.sea.map.orm.boo.imp.HibernateSearchPreIntegrationService] HSEARCH000034: Hibernate Search version 6.1.7.Final
10:20:02,244 INFO  [org.hib.sea.map.orm.boo.imp.HibernateSearchPreIntegrationService] HSEARCH000034: Hibernate Search version 6.1.7.Final
[2/7] Performing analysis...  [*]                                                                       (14,4s @ 0,72GB)
   6.032 (73,61%) of  8.195 classes reachable
   6.524 (48,72%) of 13.390 fields reachable
  22.390 (37,96%) of 58.976 methods reachable
     496 classes,   381 fields, and 2.328 methods registered for reflection

Fatal error: com.oracle.graal.pointsto.util.AnalysisError$ParsingError: Error encountered while parsing scriptella.driver.janino.JaninoConnection.executeQuery(scriptella.spi.Resource, scriptella.spi.ParametersCallback, scriptella.spi.QueryCallback) 
Parsing context:
   at scriptella.driver.janino.JaninoConnection.executeQuery(JaninoConnection.java:68)
   at scriptella.core.QueryExecutor.execute(QueryExecutor.java:71)
   at scriptella.core.ContentExecutor.execute(ContentExecutor.java:73)
   at scriptella.core.ElementInterceptor.executeNext(ElementInterceptor.java:56)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:41)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)
   at scriptella.core.StatisticInterceptor.execute(StatisticInterceptor.java:37)

        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.AnalysisError.parsingError(AnalysisError.java:153)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.createFlowsGraph(MethodTypeFlow.java:104)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.ensureFlowsGraphCreated(MethodTypeFlow.java:83)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.getOrCreateMethodFlowsGraph(MethodTypeFlow.java:65)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.typestate.DefaultVirtualInvokeTypeFlow.onObservedUpdate(DefaultVirtualInvokeTypeFlow.java:109)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.TypeFlow.update(TypeFlow.java:562)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.PointsToAnalysis$1.run(PointsToAnalysis.java:488)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.CompletionExecutor.executeCommand(CompletionExecutor.java:193)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.CompletionExecutor.lambda$executeService$0(CompletionExecutor.java:177)
        at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1395)
        at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
        at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
        at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
        at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
        at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
Caused by: org.graalvm.compiler.java.BytecodeParser$BytecodeParserError: com.oracle.graal.pointsto.constraints.UnresolvedElementException: Discovered unresolved method during parsing: org.codehaus.janino.ScriptEvaluator.setExtendedType(java.lang.Class). This error is reported at image build time because class scriptella.driver.janino.CodeCompiler is registered for linking at image build time by command line
        at parsing scriptella.driver.janino.CodeCompiler.compile(CodeCompiler.java:62)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.throwParserError(BytecodeParser.java:2518)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.throwParserError(SharedGraphBuilderPhase.java:110)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.iterateBytecodesForBlock(BytecodeParser.java:3393)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.handleBytecodeBlock(BytecodeParser.java:3345)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.processBlock(BytecodeParser.java:3190)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.build(BytecodeParser.java:1138)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.buildRootMethod(BytecodeParser.java:1030)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.GraphBuilderPhase$Instance.run(GraphBuilderPhase.java:97)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase.run(SharedGraphBuilderPhase.java:84)
        at jdk.internal.vm.compiler/org.graalvm.compiler.phases.Phase.run(Phase.java:49)
        at jdk.internal.vm.compiler/org.graalvm.compiler.phases.BasePhase.apply(BasePhase.java:446)
        at jdk.internal.vm.compiler/org.graalvm.compiler.phases.Phase.apply(Phase.java:42)
        at jdk.internal.vm.compiler/org.graalvm.compiler.phases.Phase.apply(Phase.java:38)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.AnalysisParsedGraph.parseBytecode(AnalysisParsedGraph.java:135)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.meta.AnalysisMethod.ensureGraphParsed(AnalysisMethod.java:685)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.phases.InlineBeforeAnalysisGraphDecoder.lookupEncodedGraph(InlineBeforeAnalysis.java:180)
        at jdk.internal.vm.compiler/org.graalvm.compiler.replacements.PEGraphDecoder.doInline(PEGraphDecoder.java:1162)
        at jdk.internal.vm.compiler/org.graalvm.compiler.replacements.PEGraphDecoder.tryInline(PEGraphDecoder.java:1145)
        at jdk.internal.vm.compiler/org.graalvm.compiler.replacements.PEGraphDecoder.trySimplifyInvoke(PEGraphDecoder.java:1003)
        at jdk.internal.vm.compiler/org.graalvm.compiler.replacements.PEGraphDecoder.handleInvoke(PEGraphDecoder.java:957)
        at jdk.internal.vm.compiler/org.graalvm.compiler.nodes.GraphDecoder.processNextNode(GraphDecoder.java:817)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.phases.InlineBeforeAnalysisGraphDecoder.processNextNode(InlineBeforeAnalysis.java:240)
        at jdk.internal.vm.compiler/org.graalvm.compiler.nodes.GraphDecoder.decode(GraphDecoder.java:548)
        at jdk.internal.vm.compiler/org.graalvm.compiler.replacements.PEGraphDecoder.decode(PEGraphDecoder.java:833)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.phases.InlineBeforeAnalysis.decodeGraph(InlineBeforeAnalysis.java:98)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.parse(MethodTypeFlowBuilder.java:179)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.apply(MethodTypeFlowBuilder.java:349)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.createFlowsGraph(MethodTypeFlow.java:93)
        ... 13 more
Caused by: com.oracle.graal.pointsto.constraints.UnresolvedElementException: Discovered unresolved method during parsing: org.codehaus.janino.ScriptEvaluator.setExtendedType(java.lang.Class). This error is reported at image build time because class scriptella.driver.janino.CodeCompiler is registered for linking at image build time by command line
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.reportUnresolvedElement(SharedGraphBuilderPhase.java:333)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.handleUnresolvedMethod(SharedGraphBuilderPhase.java:323)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.handleUnresolvedInvoke(SharedGraphBuilderPhase.java:279)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.genInvokeVirtual(BytecodeParser.java:1721)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.processBytecode(BytecodeParser.java:5286)
        at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.iterateBytecodesForBlock(BytecodeParser.java:3385)
        ... 38 more
------------------------------------------------------------------------------------------------------------------------
                        1,1s (4,3% of total time) in 20 GCs | Peak RSS: 2,84GB | CPU load: 4,87
========================================================================================================================
Failed generating 'demo-1.0.0-SNAPSHOT-runner' after 24,5s.
Error: Image build request failed with exit status 1
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  35.694 s
[INFO] Finished at: 2023-01-13T11:20:16+01:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal io.quarkus.platform:quarkus-maven-plugin:2.14.1.Final:build (default) on project demo: Failed to build quarkus application: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[ERROR]         [error]: Build step io.quarkus.deployment.pkg.steps.NativeImageBuildStep#build threw an exception: io.quarkus.deployment.pkg.steps.NativeImageBuildStep$ImageGenerationFailureException: Image generation failed. Exit code: 1
[ERROR]         at io.quarkus.deployment.pkg.steps.NativeImageBuildStep.imageGenerationFailed(NativeImageBuildStep.java:421)
[ERROR]         at io.quarkus.deployment.pkg.steps.NativeImageBuildStep.build(NativeImageBuildStep.java:262)
[ERROR]         at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[ERROR]         at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[ERROR]         at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[ERROR]         at java.base/java.lang.reflect.Method.invoke(Method.java:566)
[ERROR]         at io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:909)
[ERROR]         at io.quarkus.builder.BuildContext.run(BuildContext.java:281)
[ERROR]         at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
[ERROR]         at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2449)
[ERROR]         at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1478)
[ERROR]         at java.base/java.lang.Thread.run(Thread.java:834)
[ERROR]         at org.jboss.threads.JBossThread.run(JBossThread.java:501)
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

I check graalVM and quarkus documentaion, i tried building args such as --initialize-at-runtime=org.codehaus.janino.ScriptEvaluator but it didn't change anything

I also added other classes for reflection - same result

[UPDATE]

I managed to fix the build using GraalVM 22.3.0 && Java 11 (which is needed for the project) and when i build the native image quarkus build --native it's successful.

The issue that I'm working on now is the reflection using scriptella, I included

quarkus.native.additional-build-args =\-H:ReflectionConfigurationFiles=reflection-config.json,\
                                       -H:ResourceConfigurationFiles=resources-config.json,\
                                       -H:JNIConfigurationFiles=jniconfig.json,\
                                       -H:IncludeResourceBundles=com.sun.org.apache.xerces.internal.impl.msg.XMLMessages

and that's the error I'm facing now

ERROR [io.qua.ver.htt.run.QuarkusErrorHandler] (executor-thread-0) HTTP Request to /etl/csv failed, error id: 3ddf8c2e-0c9b-44c9-8967-5c03abdfe3a1-2: com.oracle.svm.core.jdk.UnsupportedFeatureError: Runtime reflection is not supported for public scriptella.configuration.ConnectionEl()
  • just to highlight part of the build log Caused by: org.graalvm.compiler.java.BytecodeParser$BytecodeParserError: com.oracle.graal.pointsto.constraints.UnresolvedElementException: Discovered unresolved method during parsing: org.codehaus.janino.ScriptEvaluator.setExtendedType(java.lang.Class). This error is reported at image build time because class scriptella.driver.janino.CodeCompiler is registered for linking at image build time by command line – Ahmed Attia Jan 13 '23 at 11:45
  • The problem is not the deprecation itself. If your app works under JVM (does it?), the same set of jars should be able to compile natively (provided that dynamic features are properly configured). Note how the compiler complains about an _unresolved_, rather than _deprecated_, method – peterz Jan 16 '23 at 12:33

0 Answers0