Моя текущая рабочая область работала на Java 8 с версией Gradle - «4.7». Позже я обновился до Java 17 в той же рабочей области с обновлением до версии Gradle 7x с другими библиотеками. Теперь я снова переключаюсь на Java 8 в версии Gradle - «4.7» и сталкиваюсь с проблемой ниже. Я понимаю, что какой-то файл класса или некоторые настройки библиотеки были нарушены. Может ли кто-нибудь помочь с этим? Я уже сделал «недействительные кеши», удалил папки .gradle, .idea и build.
./gradlew npmInstallDefault --stacktrace
ОШИБКА: сборка не удалась с исключением.
Не удалось создать службу типа PluginResolutionStrategyInternal с помощью BuildScopeServices.createPluginResolutionStrategy().
org.gradle.internal.service.ServiceCreationException: Could not create service of type ScriptPluginFactory using BuildScopeServices.createScriptPluginFactory().
at org.gradle.internal.service.DefaultServiceRegistry$FactoryMethodService.invokeMethod(DefaultServiceRegistry.java:816)
at org.gradle.internal.service.DefaultServiceRegistry$FactoryService.create(DefaultServiceRegistry.java:767)
at org.gradle.internal.service.DefaultServiceRegistry$ManagedObjectServiceProvider.getInstance(DefaultServiceRegistry.java:571)
at org.gradle.internal.service.DefaultServiceRegistry$SingletonService.get(DefaultServiceRegistry.java:628)
at org.gradle.internal.service.DefaultServiceRegistry$FactoryService.assembleParameters(DefaultServiceRegistry.java:780)
at org.gradle.internal.service.DefaultServiceRegistry$FactoryService.create(DefaultServiceRegistry.java:766)
at org.gradle.internal.service.DefaultServiceRegistry$ManagedObjectServiceProvider.getInstance(DefaultServiceRegistry.java:571)
at org.gradle.internal.service.DefaultServiceRegistry$SingletonService.get(DefaultServiceRegistry.java:628)
at org.gradle.internal.service.DefaultServiceRegistry$FactoryService.assembleParameters(DefaultServiceRegistry.java:780)
at org.gradle.internal.service.DefaultServiceRegistry$FactoryService.create(DefaultServiceRegistry.java:766)
at org.gradle.internal.service.DefaultServiceRegistry$ManagedObjectServiceProvider.getInstance(DefaultServiceRegistry.java:571)
at org.gradle.internal.service.DefaultServiceRegistry$SingletonService.get(DefaultServiceRegistry.java:628)
at org.gradle.internal.service.DefaultServiceRegistry.find(DefaultServiceRegistry.java:295)
at org.gradle.internal.service.DefaultServiceRegistry.get(DefaultServiceRegistry.java:284)
at org.gradle.internal.service.DefaultServiceRegistry.get(DefaultServiceRegistry.java:279)
at org.gradle.initialization.DefaultGradleLauncherFactory.doNewInstance(DefaultGradleLauncherFactory.java:179)
at org.gradle.initialization.DefaultGradleLauncherFactory.newInstance(DefaultGradleLauncherFactory.java:108)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:40)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:31)
at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:39)
at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:25)
at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:80)
at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:53)
at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:61)
at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:34)
at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:36)
at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:25)
at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:43)
at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:29)
at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:64)
at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:29)
at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:59)
at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:44)
at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:46)
at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:30)
at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:67)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
at org.gradle.util.Swapper.swap(Swapper.java:38)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:62)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:82)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:295)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
Caused by: org.gradle.internal.service.ServiceCreationException: Could not create service of type PluginResolutionStrategyInternal using BuildScopeServices.createPluginResolutionStrategy().
at org.gradle.internal.service.DefaultServiceRegistry$FactoryMethodService.invokeMethod(DefaultServiceRegistry.java:816)
at org.gradle.internal.service.DefaultServiceRegistry$FactoryService.create(DefaultServiceRegistry.java:767)
at org.gradle.internal.service.DefaultServiceRegistry$ManagedObjectServiceProvider.getInstance(DefaultServiceRegistry.java:571)
at org.gradle.internal.service.DefaultServiceRegistry$SingletonService.get(DefaultServiceRegistry.java:628)
at org.gradle.internal.service.DefaultServiceRegistry$FactoryService.assembleParameters(DefaultServiceRegistry.java:780)
at org.gradle.internal.service.DefaultServiceRegistry$FactoryService.create(DefaultServiceRegistry.java:766)
at org.gradle.internal.service.DefaultServiceRegistry$ManagedObjectServiceProvider.getInstance(DefaultServiceRegistry.java:571)
at org.gradle.internal.service.DefaultServiceRegistry$SingletonService.get(DefaultServiceRegistry.java:628)
at org.gradle.internal.service.DefaultServiceRegistry.find(DefaultServiceRegistry.java:295)
at org.gradle.internal.service.DefaultServiceRegistry.get(DefaultServiceRegistry.java:284)
at org.gradle.internal.service.DefaultServiceRegistry.get(DefaultServiceRegistry.java:279)
at org.gradle.internal.service.scopes.BuildScopeServices.defaultScriptPluginFactory(BuildScopeServices.java:301)
at org.gradle.internal.service.scopes.BuildScopeServices.createScriptPluginFactory(BuildScopeServices.java:293)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
at org.gradle.internal.service.ReflectionBasedServiceMethod.invoke(ReflectionBasedServiceMethod.java:35)
at org.gradle.internal.service.DefaultServiceRegistry$FactoryMethodService.invokeMethod(DefaultServiceRegistry.java:814)
... 61 more
Caused by: org.gradle.api.GradleException: Could not generate a proxy class for class org.gradle.plugin.management.internal.DefaultPluginResolutionStrategy.
at org.gradle.api.internal.AbstractClassGenerator.generateUnderLock(AbstractClassGenerator.java:228)
at org.gradle.api.internal.AbstractClassGenerator.generate(AbstractClassGenerator.java:80)
at org.gradle.api.internal.ClassGeneratorBackedInstantiator.newInstance(ClassGeneratorBackedInstantiator.java:36)
at org.gradle.plugin.internal.PluginUsePluginServiceRegistry$BuildScopeServices.createPluginResolutionStrategy(PluginUsePluginServiceRegistry.java:106)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
at org.gradle.internal.service.ReflectionBasedServiceMethod.invoke(ReflectionBasedServiceMethod.java:35)
at org.gradle.internal.service.DefaultServiceRegistry$FactoryMethodService.invokeMethod(DefaultServiceRegistry.java:814)
... 79 more
Caused by: java.lang.NoSuchMethodError: 'java.lang.Class sun.misc.Unsafe.defineClass(java.lang.String, byte[], int, int, java.lang.ClassLoader, java.security.ProtectionDomain)'
at org.gradle.internal.classloader.ClassLoaderUtils.define(ClassLoaderUtils.java:104)
at org.gradle.model.internal.asm.AsmClassGenerator.define(AsmClassGenerator.java:58)
at org.gradle.model.internal.asm.AsmClassGenerator.define(AsmClassGenerator.java:54)
at org.gradle.api.internal.AsmBackedClassGenerator$ClassBuilderImpl.generate(AsmBackedClassGenerator.java:967)
at org.gradle.api.internal.AbstractClassGenerator.generateUnderLock(AbstractClassGenerator.java:226)
... 88 more
Заранее спасибо.
Пожалуйста, проверьте stackoverflow.com/q/69637244/18157
Зачем понижать версию Gradle? Почему бы не оставить последнюю версию Gradle, но настроить сборку на Java 8?
@MauricioGraciaGutierrez - да, я сохраню разные ветки для разных версий Java после того, как проблема будет решена.
@JimGarrison - В общей ссылке мы добавляем библиотеку, подумайте - возврат назад не должен зависеть от добавления каких-либо библиотек.
@BasilBourque — это вообще отдельный репозиторий. Следовательно, настройка Java 8 с совместимым кодом.
Также я заметил, что этот конкретный проект все еще работает на Java 17, но я обновил все настройки. cxo-dashboards-war % java -version версия Java "17.0.8" 18 июля 2023 г. Среда выполнения LTS Java(TM) SE (сборка 17.0.8+9-LTS-211) 64-разрядный сервер Java HotSpot(TM) ВМ (сборка 17.0.8+9-LTS-211, смешанный режим, общий доступ)
«Также я заметил, что этот конкретный проект все еще работает на Java 17, но я обновил все настройки». - Подразумевается, что «все еще работает на Java 17» И ответ Джима Гаррисона заключается в том, что (на самом деле) вы не обновили все соответствующие настройки... или вы не обновили их правильно, или во всех местах, которые их необходимо обновить.
Если вы запускаете gradle из командной строки... обновили ли вы переменные среды? См. docs.gradle.org/current/userguide/…




Когда вы читаете сообщение об исключении, всегда ищите последнее сообщение Caused by:. Это основная причина, а другие части трассировки стека показывают, почему вызывается код, выдающий это исключение.
Ваша основная причина:
Caused by: java.lang.NoSuchMethodError: 'java.lang.Class sun.misc.Unsafe.defineClass(java.lang.String, byte[], int, int, java.lang.ClassLoader, java.security.ProtectionDomain)'
at org.gradle.internal.classloader.ClassLoaderUtils.define(ClassLoaderUtils.java:104)
at org.gradle.model.internal.asm.AsmClassGenerator.define(AsmClassGenerator.java:58)
Итак, используемая вами версия gradle пытается вызвать метод, которого нет в используемой вами версии Java.
Как указывает вопрос, на который ссылается Джим Гаррисон, этот метод был удален в Java 11 (https://bugs.openjdk.org/browse/JDK-8193033).
Итак, если вы хотите использовать версию 4.7 (я не знаю, зачем вам такая старая версия), вам нужно будет использовать Java 10 или более раннюю версию.
Спасибо. Да, как указано в вопросе — это для Java 8. Так что с 4.7 должно быть все в порядке. Это весь существующий код, который отлично работает на машине, где установлена только Java 8, и они не пытались обновиться до Java 17 и снова вернуться к JAVA 8 в той же рабочей области. Я тоже проверяю.
«Я снова перехожу на Java 8». Ваша проблема в том, что вы не перешли обратно на Java 8.
То есть, если ты говоришь: «Я прибываю», это означает, что ты уже прибыл?
@MauricioGraciaGutierrez в заголовке написано «после переключения...», но контекст «Теперь я снова переключаюсь на Java 8» подразумевает, что сообщение об ошибке появляется после того, как ОП считает, что они переключились. Поскольку английский часто не является родным языком пользователей SO, при интерпретации вопросов необходимо использовать контекст и здравый смысл.
Ваша теория верна, но сообщение, которое вы процитировали, не имеет отношения к делу, и это не сайт «исправь мою грамматику», все приведенные выше комментарии действительно бесполезны для человека, который спросил
также у вас, похоже, достаточно репутации, чтобы редактировать и исправлять грамматику в заголовке
Вся эта серия проблем возникла из-за загрузки версии gradle и папки «.cache», созданной gradle и относящейся к этой рабочей области. В моем случае - было две проблемы.
Итак, создав новое рабочее пространство W1 на Java 8 и другое рабочее пространство W2 на Java17 отдельно, но обновив переменные среды на основе рабочего пространства, над которым мы выбрали работу, я смог продолжить.
Спасибо всем за вклад. Благодарим за то, что поделились своими предложениями.
Я не знаю, используете ли вы систему контроля версий, но как только вы решите эту проблему, вам следует использовать разные ветки для разных версий Java.