maven - wrong java version? Unsupported major.minor version 51.0 -


i run jar file on external server. jar-file compiled mvn on local machine. external server has java 1.7 installed, needed explicitly tell maven compile java 1.7 because on local machine use java 1.8.

however, still following error when running jar:

exception in thread "main" java.lang.unsupportedclassversionerror: io/package/name/launcher : unsupported major.minor version 51.0         @ java.lang.classloader.defineclass1(native method)         @ java.lang.classloader.defineclass(classloader.java:643)         @ java.security.secureclassloader.defineclass(secureclassloader.java:142)         @ java.net.urlclassloader.defineclass(urlclassloader.java:277)         @ java.net.urlclassloader.access$000(urlclassloader.java:73)         @ java.net.urlclassloader$1.run(urlclassloader.java:212)         @ java.security.accesscontroller.doprivileged(native method)         @ java.net.urlclassloader.findclass(urlclassloader.java:205)         @ java.lang.classloader.loadclass(classloader.java:323)         @ sun.misc.launcher$appclassloader.loadclass(launcher.java:294)         @ java.lang.classloader.loadclass(classloader.java:268) not find main class: io.package.name.launcher. program exit. 

according other threads unsupported major.minor version 51.0 means java 7 expected (update: wrong. error means system try execute jar can not handle provided version 51 equals java 7 / 1.7. implies system runs lower version (java 1.6?)). however, double checked compiled classes , indeed should compatible java 7. maybe did wrong when checking. checked using hexeditor explained here: how check jdk version used compile .class file

here screenshot showing 7th , 8th byte of launcher.class. 0x33 51. , 51 means class file compatible java 7 (according https://stackoverflow.com/a/1096159/973158).

a java -version on server yields:

java version "1.7.0_79" openjdk runtime environment (rhel-2.5.5.1.el6_6-x86_64 u79-b14) openjdk 64-bit server vm (build 24.79-b02, mixed mode) 

and how tell maven compile java 1.7 in pom.xml

<properties>     <maven.compiler.source>1.7</maven.compiler.source>     <maven.compiler.target>1.7</maven.compiler.target> </properties> 

what doing wrong? there sort of cache on server still holds old version of class compiled java 1.8?

final update:

my code java 1.7 compatible, however, wasn't aware of fact java 1.6 required. bad.


Comments