2017-03-17 1 views
6

J'ai mis à jour java de 8 à 9-ea et gradle de 2.13 à 3.4.1. Voici la sortie gradle --version.java.lang.ExceptionInInitializerError avec grad

------------------------------------------------------------ 
Gradle 3.4.1 
------------------------------------------------------------ 

Build time: 2017-03-03 19:45:41 UTC 
Revision:  9eb76efdd3d034dc506c719dac2955efb5ff9a93 

Groovy:  2.4.7 
Ant:   Apache Ant(TM) version 1.9.6 compiled on June 29 2015 
JVM:   9-ea (Oracle Corporation 9-ea+158) 
OS:   Linux 4.8.0-36-generic amd64 

lors de la compilation ci-dessous erreur est rencontrée:

FAILURE: Build failed with an exception. 

* What went wrong: 
java.lang.ExceptionInInitializerError (no error message) 

* Try: 
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. 

et la sortie de gradle --stacktrace est ci-dessous:

java.lang.ExceptionInInitializerError 
     at org.gradle.initialization.DefaultClassLoaderRegistry.restrictTo(DefaultClassLoaderRegistry.java:40) 
     at org.gradle.initialization.DefaultClassLoaderRegistry.restrictToGradleApi(DefaultClassLoaderRegistry.java:36) 
     at org.gradle.initialization.DefaultClassLoaderRegistry.<init>(DefaultClassLoaderRegistry.java:30) 
     at org.gradle.internal.service.scopes.GlobalScopeServices.createClassLoaderRegistry(GlobalScopeServices.java:213) 
     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
     at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.base/java.lang.reflect.Method.invoke(Method.java:547) 
     at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73) 
     at org.gradle.internal.service.DefaultServiceRegistry.invoke(DefaultServiceRegistry.java:462) 
     at org.gradle.internal.service.DefaultServiceRegistry.access$1200(DefaultServiceRegistry.java:84) 
     at org.gradle.internal.service.DefaultServiceRegistry$FactoryMethodService.invokeMethod(DefaultServiceRegistry.java:805) 
     at org.gradle.internal.service.DefaultServiceRegistry$FactoryService.create(DefaultServiceRegistry.java:761) 
     at org.gradle.internal.service.DefaultServiceRegistry$ManagedObjectProvider.getInstance(DefaultServiceRegistry.java:598) 
     at org.gradle.internal.service.DefaultServiceRegistry$SingletonService.get(DefaultServiceRegistry.java:643) 
     at org.gradle.internal.service.DefaultServiceRegistry.applyConfigureMethod(DefaultServiceRegistry.java:253) 
     at org.gradle.internal.service.DefaultServiceRegistry.findProviderMethods(DefaultServiceRegistry.java:214) 
     at org.gradle.internal.service.DefaultServiceRegistry.addProvider(DefaultServiceRegistry.java:352) 
     at org.gradle.internal.service.ServiceRegistryBuilder.build(ServiceRegistryBuilder.java:52) 
     at org.gradle.launcher.cli.BuildActionsFactory.createGlobalClientServices(BuildActionsFactory.java:148) 
     at org.gradle.launcher.cli.BuildActionsFactory.runBuildWithDaemon(BuildActionsFactory.java:108) 
     at org.gradle.launcher.cli.BuildActionsFactory.createAction(BuildActionsFactory.java:83) 
     at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.createAction(CommandLineActionFactory.java:249) 
     at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:239) 
     at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:217) 
     at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:33) 
     at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24) 
     at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33) 
     at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22) 
     at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:210) 
     at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:174) 
     at org.gradle.launcher.Main.doAction(Main.java:33) 
     at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45) 
     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
     at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.base/java.lang.reflect.Method.invoke(Method.java:547) 
     at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:60) 
     at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:37) 
     at org.gradle.launcher.GradleMain.main(GradleMain.java:23) 
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make protected java.lang.Package[] java.lang.ClassLoader.getPackages() accessible: module java.base does not "opens java.lang" to unnamed module @6c7a164b 
     at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:335) 
     at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:278) 
     at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:196) 
     at java.base/java.lang.reflect.Method.setAccessible(Method.java:190) 
     at org.gradle.internal.reflect.JavaMethod.<init>(JavaMethod.java:42) 
     at org.gradle.internal.reflect.JavaMethod.<init>(JavaMethod.java:32) 
     at org.gradle.internal.reflect.JavaMethod.<init>(JavaMethod.java:36) 
     at org.gradle.internal.reflect.JavaReflectionUtil.method(JavaReflectionUtil.java:223) 
     at org.gradle.internal.classloader.FilteringClassLoader.<clinit>(FilteringClassLoader.java:49) 
     ... 40 more 

quand je mis

export GRADLE_OPTS="-Dorg.gradle.jvmargs=--add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED" 

comme suggéré à différents lieux, problème rem ains le même.

Veuillez m'aider à résoudre le problème.

MISE À JOUR: changé GRADLE_OPTS à

export GRADLE_OPTS="-Dorg.gradle.jvmargs=--add-opens java.lang=ALL-UNNAMED --add-opens java.util=ALL-UNNAMED --add-opens java.io=ALL-UNNAMED" 

obtenu l'erreur suivante:

Error: Could not find or load main class java.lang=ALL-UNNAMED 
Caused by: java.lang.ClassNotFoundException: java.lang=ALL-UNNAMED 
+0

La syntaxe '--add-opens' semble être légèrement: À moins que les choses ont changé, il ne devrait pas' = 'après' --add-opens' - voir [ici] (http://stackoverflow.com/a/41265267/2525313). – Nicolai

+0

Je pense que Groovy 2.x ne fonctionne pas encore avec JDK9. Cela étant dit, vous ne pouvez pas exécuter Gradle avec JDK9 mais vous pouvez l'utiliser pour compiler le code ciblant JDK9, c'est à dire que Gradle doit fonctionner avec JDK8 ou JDK7, les options du compilateur dans le fichier buld peuvent être réglées sur JDK9 – aalmiray

+0

@Nicolai = 'J'ai l'erreur mentionnée ci-dessus. –

Répondre

1

j'ai pu faire fonctionner gradle en utilisant Java 9-ea en exécutant utilisant la commande suivante:

export JDK_JAVA_OPTIONS='--add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED' 

-via https://github.com/gradle/gradle/issues/1095

-Ajout à/etc/profile pour qu'il fonctionne au démarrage