[SWS-963] Update reference docs citing Java 7 as minimum Created: 04/Jul/16  Updated: 05/Jul/16  Resolved: 05/Jul/16

Status: Closed
Project: Spring Web Services
Component/s: None
Affects Version/s: 2.3.0
Fix Version/s: 2.3.1

Type: Improvement Priority: Minor
Reporter: Eduardo Issao Ito Assignee: Greg Turnquist
Resolution: Complete Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Spring WS 2.3.0.RELEASE
Spring Framework 4.3.0.RELEASE

java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)


Issue Links:
Relate
is related to SWS-941 Upgrade to Smack 4.1.6 and Java 7 Closed

 Description   

While documentation says "Spring Web Services requires a standard Java 1.6 Runtime Environment. Java 1.7 and 1.8 are also supported.", I found three classes where Java 6 is not supported:

org.springframework.ws.transport.context.TransportContext
org.springframework.ws.server.endpoint.annotation.Endpoint
org.springframework.ws.soap.security.wss4j.Wss4jSecurityInterceptor

The error messages:

{{
[ERROR] java.lang.UnsupportedClassVersionError: org/springframework/ws/transport/context/TransportContext : Unsupported major.minor version 51.0

Caused by: java.lang.UnsupportedClassVersionError: org/springframework/ws/soap/security/wss4j/Wss4jSecurityInterceptor : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method) ~[na:1.6.0_45]
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) ~[na:1.6.0_45]
at java.lang.ClassLoader.defineClass(ClassLoader.java:615) ~[na:1.6.0_45]
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) ~[na:1.6.0_45]
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) ~[na:1.6.0_45]
at java.net.URLClassLoader.access$000(URLClassLoader.java:58) ~[na:1.6.0_45]
at java.net.URLClassLoader$1.run(URLClassLoader.java:197) ~[na:1.6.0_45]
at java.security.AccessController.doPrivileged(Native Method) ~[na:1.6.0_45]
at java.net.URLClassLoader.findClass(URLClassLoader.java:190) ~[na:1.6.0_45]
at java.lang.ClassLoader.loadClass(ClassLoader.java:306) ~[na:1.6.0_45]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) ~[na:1.6.0_45]
at java.lang.ClassLoader.loadClass(ClassLoader.java:247) ~[na:1.6.0_45]
at java.lang.ClassLoader.defineClass1(Native Method) ~[na:1.6.0_45]
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) ~[na:1.6.0_45]
at java.lang.ClassLoader.defineClass(ClassLoader.java:615) ~[na:1.6.0_45]
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) ~[na:1.6.0_45]
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) ~[na:1.6.0_45]
at java.net.URLClassLoader.access$000(URLClassLoader.java:58) ~[na:1.6.0_45]
at java.net.URLClassLoader$1.run(URLClassLoader.java:197) ~[na:1.6.0_45]
at java.security.AccessController.doPrivileged(Native Method) ~[na:1.6.0_45]
at java.net.URLClassLoader.findClass(URLClassLoader.java:190) ~[na:1.6.0_45]
at java.lang.ClassLoader.loadClass(ClassLoader.java:306) ~[na:1.6.0_45]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) ~[na:1.6.0_45]
at java.lang.ClassLoader.loadClass(ClassLoader.java:247) ~[na:1.6.0_45]
at org.springframework.util.ClassUtils.forName(ClassUtils.java:250) ~[spring-core-4.3.0.RELEASE.jar:4.3.0.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:394) ~[spring-beans-4.3.0.RELEASE.jar:4.3.0.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1402) ~[spring-beans-4.3.0.RELEASE.jar:4.3.0.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1349) ~[spring-beans-4.3.0.RELEASE.jar:4.3.0.RELEASE]
... 26 common frames omitted

Caused by: java.lang.UnsupportedClassVersionError: JVMCFRE003 bad major version; class=org/springframework/ws/server/endpoint/annotation/Endpoint, offset=6
at java.lang.ClassLoader.defineClassImpl(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:286)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:74)
at com.ibm.ws.classloader.CompoundClassLoader._defineClass(CompoundClassLoader.java:779)
at com.ibm.ws.classloader.CompoundClassLoader.localFindClass(CompoundClassLoader.java:692)
at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:515)
at java.lang.ClassLoader.loadClass(ClassLoader.java:642)
at org.springframework.core.type.classreading.RecursiveAnnotationAttributesVisitor.visitEnd(RecursiveAnnotationAttributesVisitor.java:47)
at org.springframework.asm.ClassReader.readAnnotationValues(ClassReader.java:1802)
at org.springframework.asm.ClassReader.accept(ClassReader.java:642)
at org.springframework.asm.ClassReader.accept(ClassReader.java:508)
at org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:64)
at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:98)
at org.springframework.core.type.classreading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:102)
at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents(ClassPathScanningCandidateComponentProvider.java:279)
... 49 more
}}



 Comments   
Comment by Greg Turnquist [ 05/Jul/16 ]

SWS-941 upgraded to Java 7.

Comment by Greg Turnquist [ 05/Jul/16 ]

I'll use this issue to upgrade the docs to cite Java 7 as the minimum JDK.

Generated at Tue Dec 12 06:36:17 UTC 2017 using JIRA 6.4.14#64029-sha1:ae256fe0fbb912241490ff1cecfb323ea0905ca5.