[
https://issues.apache.org/jira/browse/JCLOUDS-1402?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16427177#comment-16427177
]
Mathieu Tortuyaux commented on JCLOUDS-1402:
--------------------------------------------
Thanks for your quick update. I didn't know that jclouds doesn't officially
support java 9 :)
I'm not able to run unit tests with Guice 4.2. I could take a look deeper to
see if we have to perform or not a mass refactoring.
We have this kind of error:
{noformat}
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal
org.apache.maven.plugins:maven-surefire-plugin:2.17:test (default-test) on
project jclouds-core: Execution default-test of goal
org.apache.maven.plugins:maven-surefire-plugin:2.17:test failed: There was an
error in the forked process
org.testng.TestNGException:
Cannot instantiate class org.jclouds.http.handlers.RedirectionRetryHandlerTest
at
org.testng.internal.ObjectFactoryImpl.newInstance(ObjectFactoryImpl.java:38)
at org.testng.internal.ClassHelper.createInstance1(ClassHelper.java:380)
at org.testng.internal.ClassHelper.createInstance(ClassHelper.java:293)
at org.testng.internal.ClassImpl.getDefaultInstance(ClassImpl.java:115)
at org.testng.internal.ClassImpl.getInstances(ClassImpl.java:200)
at
org.testng.internal.TestNGClassFinder.<init>(TestNGClassFinder.java:120)
at org.testng.TestRunner.initMethods(TestRunner.java:409)
at org.testng.TestRunner.init(TestRunner.java:235)
at org.testng.TestRunner.init(TestRunner.java:205)
at org.testng.TestRunner.<init>(TestRunner.java:153)
at
org.testng.SuiteRunner$DefaultTestRunnerFactory.newTestRunner(SuiteRunner.java:536)
at org.testng.SuiteRunner.init(SuiteRunner.java:159)
at org.testng.SuiteRunner.<init>(SuiteRunner.java:113)
at org.testng.TestNG.createSuiteRunner(TestNG.java:1299)
at org.testng.TestNG.createSuiteRunners(TestNG.java:1286)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)
at org.testng.TestNG.run(TestNG.java:1057)
at
org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:115)
at
org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeMulti(TestNGDirectoryTestSuite.java:204)
at
org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:107)
at
org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:112)
at
org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200)
at
org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
at
org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at
org.testng.internal.ObjectFactoryImpl.newInstance(ObjectFactoryImpl.java:29)
... 23 more
Caused by: java.lang.NoSuchMethodError:
com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V
at com.google.inject.Key.ensureRetainedAtRuntime(Key.java:341)
at com.google.inject.Key.strategyFor(Key.java:317)
at com.google.inject.Key.get(Key.java:255)
at
com.google.inject.internal.AbstractBindingBuilder.annotatedWithInternal(AbstractBindingBuilder.java:84)
at
com.google.inject.internal.BindingBuilder.annotatedWith(BindingBuilder.java:57)
at
com.google.inject.internal.BindingBuilder.annotatedWith(BindingBuilder.java:42)
at
org.jclouds.rest.internal.BaseRestApiTest$MockModule.configure(BaseRestApiTest.java:80)
at com.google.inject.AbstractModule.configure(AbstractModule.java:61)
at
com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:344)
at com.google.inject.spi.Elements.getElements(Elements.java:103)
at
com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:137)
at
com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:103)
at com.google.inject.Guice.createInjector(Guice.java:87)
at org.jclouds.ContextBuilder.buildInjector(ContextBuilder.java:405)
at org.jclouds.ContextBuilder.buildInjector(ContextBuilder.java:328)
at
org.jclouds.http.handlers.RedirectionRetryHandlerTest.<init>(RedirectionRetryHandlerTest.java:45)
... 28 more
{noformat}
I was not able to build jclouds with java 9 but now, I know why.
Thanks !
> openjdk9 - An illegal reflective access operation has occurred
> --------------------------------------------------------------
>
> Key: JCLOUDS-1402
> URL: https://issues.apache.org/jira/browse/JCLOUDS-1402
> Project: jclouds
> Issue Type: Bug
> Components: jclouds-core
> Affects Versions: 2.1.0
> Environment: $ uname -r
> 4.15.14-1-ARCH
> $ archlinux-java status
> Available Java environments:
> java-9-openjdk (default)
> Reporter: Mathieu Tortuyaux
> Priority: Major
>
> Hi !
> While trying to run [this
> example|https://github.com/jclouds/jclouds-examples/blob/master/google-lb/src/main/java/org/jclouds/examples/google/lb/MainApp.java],
> I got the following warning:
> {noformat}
> WARNING: An illegal reflective access operation has occurred
> WARNING: Illegal reflective access by
> com.google.inject.internal.cglib.core.$ReflectUtils$2
> (file:/home/mathieu/Desktop/lab/jclouds-optel/test/target/cloud-scheduler-1.0-SNAPSHOT-shaded.jar)
> to method
> java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
> WARNING: Please consider reporting this to the maintainers of
> com.google.inject.internal.cglib.core.$ReflectUtils$2
> WARNING: Use --illegal-access=warn to enable warnings of further illegal
> reflective access operations
> WARNING: All illegal access operations will be denied in a future release
> {noformat}
> After a few searches, I found that this is a known issue caused by
> Google/Guice and one one his dependency: cglib. It has been fixed in
> Google/Guice release 4.2. But jclouds-core is using Google/Guice release 3.0
> {noformat}
> $ mvn dependency:tree | grep guice -B 2
> [INFO] | | \- org.apache.jclouds:jclouds-core:jar:2.1.0:compile
> [INFO] | | +- javax.ws.rs:javax.ws.rs-api:jar:2.0.1:compile
> [INFO] | | +-
> com.google.inject.extensions:guice-assistedinject:jar:3.0:compile
> [INFO] | | +- com.google.inject:guice:jar:3.0:compile
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)