由于Gradle失败,无法编译任何Android项目:无法找到javax.xml.datatype.DatatypeFactory [英] Unable to compile any Android project due to Gradle fail: Could not find javax.xml.datatype.DatatypeFactory

查看:2234
本文介绍了由于Gradle失败,无法编译任何Android项目:无法找到javax.xml.datatype.DatatypeFactory的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这确实让我感到困扰,我已经多次安装并重新安装了JDK,ADK,Android Studio和Gradle,并且执行了各种不同的命令,但是我无法让这个错误消失。要么我卸载时没有足够的删除,要么与OS X Yosemite有一些不兼容。我也没有把Android Studio指向正确的JDK或ADK ......基本上,不知道发生了什么。任何帮助将不胜感激。



这是gradle stacktrace:

  org.gradle.internal.service.ServiceCreationException:无法使用GlobalScopeServices.createClassLoaderRegistry()创建类型为DefaultClassLoaderRegistry的服务。 
at org.gradle.internal.service.DefaultServiceRegistry $ FactoryMethodService.invokeMethod(DefaultServiceRegistry.java:643)
at org.gradle.internal.service.DefaultServiceRegistry $ FactoryService.create(DefaultServiceRegistry.java:597)
at org.gradle.internal.service.DefaultServiceRegistry $ ManagedObjectProvider.getInstance(DefaultServiceRegistry.java:439)
at org.gradle.internal.service.DefaultServiceRegistry $ SingletonService.get(DefaultServiceRegistry.java:479)
at org.gradle.internal.service.DefaultServiceRegistry.findConfigureMethod(DefaultServiceRegistry.java:145)
at org.gradle.internal.service.DefaultServiceRegistry.findProviderMethods(DefaultServiceRegistry.java:119)
org.gradle.internal.service.DefaultServiceRegistry.addProvider(DefaultServiceRegistry.java:227)
at org.gradle.internal.service.ServiceRegistryBuilder.build(ServiceRegistryBuilder.java:52)
at org.gradle .launcher.cli.BuildActionsFactory.runBuildInProcess(BuildActionsFactory.java:1 67)在org.gradle.launcher.cli.BuildActionsFactory.createAction(BuildActionsFactory.java:137)
在org.gradle.launcher.cli.CommandLineActionFactory $ ParseAndBuildAction.createAction(CommandLineActionFactory.java:242

在org.gradle.launcher.cli.CommandLineActionFactory $ ParseAndBuildAction.execute(CommandLineActionFactory.java:232)
在org.gradle.launcher.cli.CommandLineActionFactory $ ParseAndBuildAction.execute(CommandLineActionFactory.java:210)在org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)

在org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
在org.gradle.launcher.cli.CommandLineActionFactory $ WithLogging.execute(CommandLineActionFactory.java:206)
在org.gradle.launcher.cli.CommandLineActionFactory $ WithLogging.execute(CommandLineActionFactory.java:169)
在org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
在org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
在org.gradle.launcher.Main.doAction(Main.java:33)
在org.gradle。 launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.gradle.launcher。 bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)
at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
at org.gradle.launcher.GradleMain.main( GradleMain.java:23)
导致:org.gradle.internal.service.UnknownServiceException:无法找到服务'javax的元数据资源'META-INF / services / javax.xml.datatype.DatatypeFactory'。 xml.datatype.DatatypeFactory。
at org.gradle.internal.service.ServiceLocator.getFactory(ServiceLocator.java:56)
at org.gradle.internal.classloader.DefaultClassLoaderFactory.makeServiceVisible(DefaultClassLoaderFactory.java:104)
at org.gradle.internal.classloader.DefaultClassLoaderFactory.createFilteringClassLoader(DefaultClassLoaderFactory.java:76)
at org.gradle.initialization.DefaultClassLoaderRegistry.restrictToGradleApi(DefaultClassLoaderRegistry.java:50)
at org.gradle.initialization .DefaultClassLoaderRegistry<初始化>(DefaultClassLoaderRegistry.java:40)
。在在sun.reflect.NativeMethodAccessorImpl org.gradle.internal.service.scopes.GlobalScopeServices.createClassLoaderRegistry(GlobalScopeServices.java:115)
。 invoke0(本机方法)处是java sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

。 lang.reflect.Method.invoke(Method.java:606)
org.gr adr.internal.reflect.JavaMethod.invoke(JavaMethod.java:63)
位于org.gradle.internal.service.DefaultServiceRegistry.invoke(DefaultServiceRegistry.java:328)
位于org.gradle.internal。 service.DefaultServiceRegistry.access $ 1200(DefaultServiceRegistry.java:58)
at org.gradle.internal.service.DefaultServiceRegistry $ FactoryMethodService.invokeMethod(DefaultServiceRegistry.java:641)
... 27 more


解决方案

我遇到了同样的问题并阅读gradle的堆栈跟踪,并发现缺少一个罐子。其他缺少的罐子(如果有的话)将列在完整堆栈轨迹中。

有问题的罐子是gradle需要的commons-lang3.jar。我在下面的步骤中安装了jar

  sudo apt-get install libcommons-lang3-java 

然后我再次运行gradle,它工作正常。


This is really bugging me, I've installed and reinstalled JDK, ADK, Android Studio, and Gradle several times and in various different orders, but I can't get this error to go away. Either I'm not deleting enough when I uninstall, or there's some incompatibility with OS X Yosemite. It's also possible that I'm not pointing Android Studio at the right JDK or ADK... Basically, no idea what's going on. Any help would be greatly appreciated.

Here's the gradle stacktrace:

org.gradle.internal.service.ServiceCreationException: Could not create service of type DefaultClassLoaderRegistry using GlobalScopeServices.createClassLoaderRegistry().
at org.gradle.internal.service.DefaultServiceRegistry$FactoryMethodService.invokeMethod(DefaultServiceRegistry.java:643)
at org.gradle.internal.service.DefaultServiceRegistry$FactoryService.create(DefaultServiceRegistry.java:597)
at org.gradle.internal.service.DefaultServiceRegistry$ManagedObjectProvider.getInstance(DefaultServiceRegistry.java:439)
at org.gradle.internal.service.DefaultServiceRegistry$SingletonService.get(DefaultServiceRegistry.java:479)
at org.gradle.internal.service.DefaultServiceRegistry.findConfigureMethod(DefaultServiceRegistry.java:145)
at org.gradle.internal.service.DefaultServiceRegistry.findProviderMethods(DefaultServiceRegistry.java:119)
at org.gradle.internal.service.DefaultServiceRegistry.addProvider(DefaultServiceRegistry.java:227)
at org.gradle.internal.service.ServiceRegistryBuilder.build(ServiceRegistryBuilder.java:52)
at org.gradle.launcher.cli.BuildActionsFactory.runBuildInProcess(BuildActionsFactory.java:167)
at org.gradle.launcher.cli.BuildActionsFactory.createAction(BuildActionsFactory.java:137)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.createAction(CommandLineActionFactory.java:242)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:232)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:210)
at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
at org.gradle.launcher.Main.doAction(Main.java:33)
at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)
at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
Caused by: org.gradle.internal.service.UnknownServiceException: Could not find meta-data resource 'META-INF/services/javax.xml.datatype.DatatypeFactory' for service 'javax.xml.datatype.DatatypeFactory'.
at org.gradle.internal.service.ServiceLocator.getFactory(ServiceLocator.java:56)
at org.gradle.internal.classloader.DefaultClassLoaderFactory.makeServiceVisible(DefaultClassLoaderFactory.java:104)
at org.gradle.internal.classloader.DefaultClassLoaderFactory.createFilteringClassLoader(DefaultClassLoaderFactory.java:76)
at org.gradle.initialization.DefaultClassLoaderRegistry.restrictToGradleApi(DefaultClassLoaderRegistry.java:50)
at org.gradle.initialization.DefaultClassLoaderRegistry.<init>(DefaultClassLoaderRegistry.java:40)
at org.gradle.internal.service.scopes.GlobalScopeServices.createClassLoaderRegistry(GlobalScopeServices.java:115)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:63)
at org.gradle.internal.service.DefaultServiceRegistry.invoke(DefaultServiceRegistry.java:328)
at org.gradle.internal.service.DefaultServiceRegistry.access$1200(DefaultServiceRegistry.java:58)
at org.gradle.internal.service.DefaultServiceRegistry$FactoryMethodService.invokeMethod(DefaultServiceRegistry.java:641)
... 27 more

解决方案

I have encountered the same problem and read the gradle's full stack trace , and found that a jar is missing. The other missing jars, if any will be listed in the full stack trace.

the jar in question is commons-lang3.jar which is needed by gradle. I installed the jar in the below step

sudo apt-get install libcommons-lang3-java

then i ran gradle again and it worked fine.

这篇关于由于Gradle失败,无法编译任何Android项目:无法找到javax.xml.datatype.DatatypeFactory的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆