Spring Boot GraalVM Native Image JRT Файловая система отключена Ошибка ⇐ JAVA
Spring Boot GraalVM Native Image JRT Файловая система отключена Ошибка
Я пытаюсь преобразовать проект Spring Boot 2.x в Spring Boot 3.1.3 и скомпилировать его с собственным профилем для graalvm.
До сих пор я следовал этому руководству: https://softwaremill.com/how-to-migrate ... -migration
Мне удалось скомпилировать и запустить проект с включенным Spring AOT, сгенерировать метаданные доступности и после этого успешно создать собственный образ. Моя текущая среда: W10 22H2 x64 | открытыйJDK 17.0.8 | граальВМ CE 22.3.3 | MSVC 14.16.27023.
Когда я запускаю исполняемый файл, он запускается очень быстро, но когда я пытаюсь сделать какие-либо запросы к конечным точкам http приложения, я получаю следующую ошибку:
15:36:01.330 [ОШИБКА] o.a.c.c.C.[.[localhost] — ErrorPage обработки исключений[errorCode=0, location=/error] jakarta.servlet.ServletException: Servlet.init() для сервлета [dispatcherServlet] выдал исключение в org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:960) в org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:662) в org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:621) в org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:410) в org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:340) в org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:277) в org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:359) в org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:222) в org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:305) в org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:149) в org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) в org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) в org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341) в org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) в org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) в org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:894) в org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1740) в org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) в org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) в org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) в org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) по адресу [email protected]/java.lang.Thread.run(Thread.java:833) в org.graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine (PlatformThreads.java:775) по адресу org.graalvm.nativeimage.builder/com.oracle.svm.core.windows.WindowsPlatformThreads.osThreadStartRoutine(WindowsPlatformThreads.java:178) Вызвано: org.springframework.beans.factory.BeanCreationException: ошибка создания bean-компонента с именем «resourceHandlerMapping»: Не удалось создать экземпляр предоставленного компонента. в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.obtainFromSupplier(AbstractAutowireCapableBeanFactory.java:1220) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1158) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:560) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520) в org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) в org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) в org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) в org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) в org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:663) в org.springframework.context.support.AbstractApplicationContext.getBeansOfType(AbstractApplicationContext.java:1309) в org.springframework.beans.factory.BeanFactoryUtils.beansOfTypeIncludeAncestors(BeanFactoryUtils.java:368) в org.springframework.web.servlet.DispatcherServlet.initHandlerMappings(DispatcherServlet.java:602) в org.springframework.web.servlet.DispatcherServlet.initStrategies(DispatcherServlet.java:508) в org.springframework.web.servlet.DispatcherServlet.onRefresh(DispatcherServlet.java:497) в org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:603) в org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:537) в org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:169) в jakarta.servlet.GenericServlet.init(GenericServlet.java:143) в jakarta.servlet.http.HttpServlet.init(HttpServlet.java:121) в org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:944) ...23 общих кадра опущены Вызвано: io.github.classgraph.ClassGraphException: необнаруженное исключение во время сканирования. в io.github.classgraph.ClassGraph.scan(ClassGraph.java:1570) в io.github.classgraph.ClassGraph.scan(ClassGraph.java:1587) в io.github.classgraph.ClassGraph.scan(ClassGraph.java:1600) в org.webjars.WebJarAssetLocator.scanForWebJars(WebJarAssetLocator.java:188) в org.webjars.WebJarAssetLocator.(WebJarAssetLocator.java:210) в org.webjars.WebJarAssetLocator.(WebJarAssetLocator.java:194) в org.springframework.web.servlet.resource.WebJarsResourceResolver.(WebJarsResourceResolver.java:63) в org.springframework.web.servlet.config.annotation.ResourceChainRegistration.getResourceResolvers(ResourceChainRegistration.java:114) в org.springframework.web.servlet.config.annotation.ResourceHandlerRegistration.getRequestHandler(ResourceHandlerRegistration.java:215) в org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry.getRequestHandler(ResourceHandlerRegistry.java:178) в org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry.getHandlerMapping(ResourceHandlerRegistry.java:168) в org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport.resourceHandlerMapping(WebMvcConfigurationSupport.java:589) в org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport__BeanDefinitions.lambda$getResourceHandlerMappingInstanceSupplier$7(WebMvcConfigurationSupport__BeanDefinitions.java:172) в org.springframework.util.function.ThrowingBiFunction.apply(ThrowingBiFunction.java:68) в org.springframework.util.function.ThrowingBiFunction.apply(ThrowingBiFunction.java:54) в org.springframework.beans.factory.aot.BeanInstanceSupplier.lambda$get$2(BeanInstanceSupplier.java:202) в org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:58) в org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:46) в org.springframework.beans.factory.aot.BeanInstanceSupplier.invokeBeanSupplier(BeanInstanceSupplier.java:214) в org.springframework.beans.factory.aot.BeanInstanceSupplier.get(BeanInstanceSupplier.java:202) в org.springframework.beans.factory.support.DefaultListableBeanFactory.obtainInstanceFromSupplier(DefaultListableBeanFactory.java:947) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.obtainFromSupplier(AbstractAutowireCapableBeanFactory.java:1214) ... 42 общих кадра опущены Вызвано: java.lang.IllegalArgumentException: исключение при вызове метода «список». в nonapi.io.github.classgraph.utils.ReflectionUtils.invokeMethod(ReflectionUtils.java:268) в nonapi.io.github.classgraph.utils.ReflectionUtils.invokeMethod(ReflectionUtils.java:301) в io.github.classgraph.ModuleReaderProxy.list(ModuleReaderProxy.java:107) в io.github.classgraph.ClasspathElementModule.scanPaths(ClasspathElementModule.java:286) в io.github.classgraph.Scanner$5.processWorkUnit(Scanner.java:1095) в io.github.classgraph.Scanner$5.processWorkUnit(Scanner.java:1089) в nonapi.io.github.classgraph.concurrency.WorkQueue.runWorkLoop(WorkQueue.java:246) в nonapi.io.github.classgraph.concurrency.WorkQueue.access$000(WorkQueue.java:50) в nonapi.io.github.classgraph.concurrency.WorkQueue$1.call(WorkQueue.java:201) в nonapi.io.github.classgraph.concurrency.WorkQueue$1.call(WorkQueue.java:198) по адресу [email protected]/java.util.concurrent.FutureTask.run(FutureTask.java:264) по адресу [email protected]/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) по адресу [email protected]/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ... 3 общих кадра опущены Вызвано: java.lang.reflect.IndictionTargetException: null по адресу [email protected]/java.lang.reflect.Method.invoke(Method.java:568) в nonapi.io.github.classgraph.utils.ReflectionUtils.invokeMethod(ReflectionUtils.java:260) ... 15 общих фреймов опущены Вызвано: com.oracle.svm.core.jdk.UnsupportedFeatureError: файловая система JRT отключена. по адресу org.graalvm.nativeimage.builder/com.oracle.svm.core.util.VMError.unsupportedFeature(VMError.java:89) по адресу [email protected]/jdk.internal.module.SystemModuleFinders$SystemImage.reader(SystemModuleFinders.java:139) по адресу [email protected]/jdk.internal.module.SystemModuleFinders$ModuleContentSpliterator.(SystemModuleFinders.java:527) по адресу [email protected]/jdk.internal.module.SystemModuleFinders$SystemModuleReader.list(SystemModuleFinders.java:502) ... 17 общих фреймов опущены
Я пытаюсь преобразовать проект Spring Boot 2.x в Spring Boot 3.1.3 и скомпилировать его с собственным профилем для graalvm.
До сих пор я следовал этому руководству: https://softwaremill.com/how-to-migrate ... -migration
Мне удалось скомпилировать и запустить проект с включенным Spring AOT, сгенерировать метаданные доступности и после этого успешно создать собственный образ. Моя текущая среда: W10 22H2 x64 | открытыйJDK 17.0.8 | граальВМ CE 22.3.3 | MSVC 14.16.27023.
Когда я запускаю исполняемый файл, он запускается очень быстро, но когда я пытаюсь сделать какие-либо запросы к конечным точкам http приложения, я получаю следующую ошибку:
15:36:01.330 [ОШИБКА] o.a.c.c.C.[.[localhost] — ErrorPage обработки исключений[errorCode=0, location=/error] jakarta.servlet.ServletException: Servlet.init() для сервлета [dispatcherServlet] выдал исключение в org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:960) в org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:662) в org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:621) в org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:410) в org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:340) в org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:277) в org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:359) в org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:222) в org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:305) в org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:149) в org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) в org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) в org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341) в org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) в org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) в org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:894) в org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1740) в org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) в org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) в org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) в org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) по адресу [email protected]/java.lang.Thread.run(Thread.java:833) в org.graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine (PlatformThreads.java:775) по адресу org.graalvm.nativeimage.builder/com.oracle.svm.core.windows.WindowsPlatformThreads.osThreadStartRoutine(WindowsPlatformThreads.java:178) Вызвано: org.springframework.beans.factory.BeanCreationException: ошибка создания bean-компонента с именем «resourceHandlerMapping»: Не удалось создать экземпляр предоставленного компонента. в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.obtainFromSupplier(AbstractAutowireCapableBeanFactory.java:1220) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1158) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:560) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520) в org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) в org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) в org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) в org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) в org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:663) в org.springframework.context.support.AbstractApplicationContext.getBeansOfType(AbstractApplicationContext.java:1309) в org.springframework.beans.factory.BeanFactoryUtils.beansOfTypeIncludeAncestors(BeanFactoryUtils.java:368) в org.springframework.web.servlet.DispatcherServlet.initHandlerMappings(DispatcherServlet.java:602) в org.springframework.web.servlet.DispatcherServlet.initStrategies(DispatcherServlet.java:508) в org.springframework.web.servlet.DispatcherServlet.onRefresh(DispatcherServlet.java:497) в org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:603) в org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:537) в org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:169) в jakarta.servlet.GenericServlet.init(GenericServlet.java:143) в jakarta.servlet.http.HttpServlet.init(HttpServlet.java:121) в org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:944) ...23 общих кадра опущены Вызвано: io.github.classgraph.ClassGraphException: необнаруженное исключение во время сканирования. в io.github.classgraph.ClassGraph.scan(ClassGraph.java:1570) в io.github.classgraph.ClassGraph.scan(ClassGraph.java:1587) в io.github.classgraph.ClassGraph.scan(ClassGraph.java:1600) в org.webjars.WebJarAssetLocator.scanForWebJars(WebJarAssetLocator.java:188) в org.webjars.WebJarAssetLocator.(WebJarAssetLocator.java:210) в org.webjars.WebJarAssetLocator.(WebJarAssetLocator.java:194) в org.springframework.web.servlet.resource.WebJarsResourceResolver.(WebJarsResourceResolver.java:63) в org.springframework.web.servlet.config.annotation.ResourceChainRegistration.getResourceResolvers(ResourceChainRegistration.java:114) в org.springframework.web.servlet.config.annotation.ResourceHandlerRegistration.getRequestHandler(ResourceHandlerRegistration.java:215) в org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry.getRequestHandler(ResourceHandlerRegistry.java:178) в org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry.getHandlerMapping(ResourceHandlerRegistry.java:168) в org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport.resourceHandlerMapping(WebMvcConfigurationSupport.java:589) в org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport__BeanDefinitions.lambda$getResourceHandlerMappingInstanceSupplier$7(WebMvcConfigurationSupport__BeanDefinitions.java:172) в org.springframework.util.function.ThrowingBiFunction.apply(ThrowingBiFunction.java:68) в org.springframework.util.function.ThrowingBiFunction.apply(ThrowingBiFunction.java:54) в org.springframework.beans.factory.aot.BeanInstanceSupplier.lambda$get$2(BeanInstanceSupplier.java:202) в org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:58) в org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:46) в org.springframework.beans.factory.aot.BeanInstanceSupplier.invokeBeanSupplier(BeanInstanceSupplier.java:214) в org.springframework.beans.factory.aot.BeanInstanceSupplier.get(BeanInstanceSupplier.java:202) в org.springframework.beans.factory.support.DefaultListableBeanFactory.obtainInstanceFromSupplier(DefaultListableBeanFactory.java:947) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.obtainFromSupplier(AbstractAutowireCapableBeanFactory.java:1214) ... 42 общих кадра опущены Вызвано: java.lang.IllegalArgumentException: исключение при вызове метода «список». в nonapi.io.github.classgraph.utils.ReflectionUtils.invokeMethod(ReflectionUtils.java:268) в nonapi.io.github.classgraph.utils.ReflectionUtils.invokeMethod(ReflectionUtils.java:301) в io.github.classgraph.ModuleReaderProxy.list(ModuleReaderProxy.java:107) в io.github.classgraph.ClasspathElementModule.scanPaths(ClasspathElementModule.java:286) в io.github.classgraph.Scanner$5.processWorkUnit(Scanner.java:1095) в io.github.classgraph.Scanner$5.processWorkUnit(Scanner.java:1089) в nonapi.io.github.classgraph.concurrency.WorkQueue.runWorkLoop(WorkQueue.java:246) в nonapi.io.github.classgraph.concurrency.WorkQueue.access$000(WorkQueue.java:50) в nonapi.io.github.classgraph.concurrency.WorkQueue$1.call(WorkQueue.java:201) в nonapi.io.github.classgraph.concurrency.WorkQueue$1.call(WorkQueue.java:198) по адресу [email protected]/java.util.concurrent.FutureTask.run(FutureTask.java:264) по адресу [email protected]/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) по адресу [email protected]/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ... 3 общих кадра опущены Вызвано: java.lang.reflect.IndictionTargetException: null по адресу [email protected]/java.lang.reflect.Method.invoke(Method.java:568) в nonapi.io.github.classgraph.utils.ReflectionUtils.invokeMethod(ReflectionUtils.java:260) ... 15 общих фреймов опущены Вызвано: com.oracle.svm.core.jdk.UnsupportedFeatureError: файловая система JRT отключена. по адресу org.graalvm.nativeimage.builder/com.oracle.svm.core.util.VMError.unsupportedFeature(VMError.java:89) по адресу [email protected]/jdk.internal.module.SystemModuleFinders$SystemImage.reader(SystemModuleFinders.java:139) по адресу [email protected]/jdk.internal.module.SystemModuleFinders$ModuleContentSpliterator.(SystemModuleFinders.java:527) по адресу [email protected]/jdk.internal.module.SystemModuleFinders$SystemModuleReader.list(SystemModuleFinders.java:502) ... 17 общих фреймов опущены
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Graalpy graalvm java.lang.noclassdeffounderror: org/graalvm/polyglot/context ошибка
Anonymous » » в форуме JAVA - 0 Ответы
- 3 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Ошибка пакета jdk.internal.jrtfs как в модуле java.base, так и в модуле jrt.fs
Anonymous » » в форуме JAVA - 0 Ответы
- 28 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Graalvm (Native-Image) не может скомпилировать зависимости от регистрации
Anonymous » » в форуме JAVA - 0 Ответы
- 2 Просмотры
-
Последнее сообщение Anonymous
-