Hi! I am running Java 8 for a year without an issue. The code is compiled for target Java 7, but can be run with Java 8. User code that is targeted for Java 8 can be run if Flink is run with Java 8.
The initial error you got was because you probably compiled with Java 8 as the target, and ran it with Java 7. I would just leave the target to be 1.7 and run it in a Java 8 JVM. User code can also be Java 8, that mixes seamlessly. Stephan On Thu, Feb 4, 2016 at 11:34 AM, Flavio Pompermaier <pomperma...@okkam.it> wrote: > Anyone looking into this? Java 7 reached its end of life at april 2015 > with its last public update (numer 80) and the ability to run Java 8 jobs > would be more and more important in the future. IMHO, the default target of > the maven compiler plugin should be set to 1.8 in the 1.0 release. In most > of the cases this would be backward compatible and if it's not you can > always recompile it with 1.7 (but as an exception this time). > Obviously this is not urgent, I just wanted to point this out and > hopefully help someone else facing the same problem > > Best, > Flavio > > > On Wed, Feb 3, 2016 at 3:40 PM, Flavio Pompermaier <pomperma...@okkam.it> > wrote: > >> I've fixed it changing the copy method in the *TupleSerializer* as >> follow: >> >> @Override >> public T copy(T from, T reuse) { >> for (int i = 0; i < arity; i++) { >> Object copy = fieldSerializers[i].copy(from.getField(i)); >> reuse.setField(copy, i); >> } >> return reuse; >> } >> >> And commenting line 50 in *CollectionExecutionAccumulatorsTest*: >> >> assertEquals(NUM_ELEMENTS, >> result.getAccumulatorResult(ACCUMULATOR_NAME)); >> >> I hope it helps.. >> >> On Wed, Feb 3, 2016 at 3:12 PM, Flavio Pompermaier <pomperma...@okkam.it> >> wrote: >> >>> I've checked the compiled classes with javap -verbose and indeed they >>> had a major.verion=51 (java 7). >>> So I've changed the source and target to 1.8 in the main pom.xm and now >>> the generated .class have major.verion=52. >>> Unfortunately now I get this error: >>> >>> [ERROR] >>> /opt/flink-src/flink-java/src/main/java/org/apache/flink/api/java/typeutils/runtime/TupleSerializer.java:[104,63] >>> incompatible types: void cannot be converted to java.lang.Object >>> >>> How can I fix it? I also tried to upgrade the maven compiler to 3.5 but >>> it didn't help :( >>> >>> Best, >>> Flavio >>> >>> On Wed, Feb 3, 2016 at 2:38 PM, Flavio Pompermaier <pomperma...@okkam.it >>> > wrote: >>> >>>> Hi to all, >>>> >>>> I was trying to make my Java 8 application to run on a Flink 0.10.1 >>>> cluster. >>>> I've compiled both Flink sources and my app with the same Java version >>>> (1.8.72) and I've set the env.java.home to point to my java 8 JVM in every >>>> flink-conf.yml of the cluster. >>>> >>>> I always get the following Exception: >>>> >>>> java.lang.UnsupportedClassVersionError: XXX: Unsupported major.minor >>>> version 52.0 >>>> >>>> Is there any other setting I forgot to check? Do I have to change also >>>> the source and target to 1.8 in the maven compiler settings of the main >>>> pom? >>>> >>>> Best, >>>> Flavio >>>> >>> >>> >>> >>