Showing results for 
Search instead for 
Do you mean 

APOLLO 2018 (16.5) only support JAVA version 8, JAVA 10 will not work

by Technical Evangelist ‎06-27-2018 08:22 AM - edited ‎07-04-2018 08:27 AM (387 Views)

APOLLO 2018 (16.5) and 2018 update 1, update 2 only support JAVA runtime version 8, JAVA 9/10 will not work
The reason is that the sun.misc.BASE64Decoder is not available in Java 9/10.

 

Basically Oracle has changed the way they're releasing Java versions, now it more closely mimics something like Ubuntu Linux. They have their LTS (long term support) versions, with non-LTS versions in between. 9 and 10 are non-LTS versions. 8 is the current LTS version. The next LTS version is 11.  See http://www.oracle.com/technetwork/java/javase/eol-135779.html.

 

Customer will get the following error when configuring Apollo (Apollo 16.5) if they are using JAVA 9/10.

  

Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre-10.0.1\lib\tools.jar
Buildfile: C:\Program Files\Hexagon\ERDAS APOLLO\tools\schema-generator\build.xml
-init:
    [mkdir] Created dir: C:\Program Files\Hexagon\ERDAS APOLLO\tools\schema-generator\target
     [copy] Copying 7 files to C:\Program Files\Hexagon\ERDAS APOLLO\tools\schema-generator\target\resources
upgrade:
     [java] 2018-06-22 11:50:05,919 - Exception setting property password on target class com.erdas.apollo.config.ds.ProtectedHikariConfig
     [java] java.lang.reflect.InvocationTargetException
     [java]     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     [java]     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
     [java]     at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
     [java]     at java.base/java.lang.reflect.Method.invoke(Unknown Source)
     [java]     at com.zaxxer.hikari.util.PropertyBeanSetter.setProperty(PropertyBeanSetter.java:151)
     [java]     at com.zaxxer.hikari.util.PropertyBeanSetter.setTargetFromProperties(PropertyBeanSetter.java:63)
     [java]     at com.zaxxer.hikari.HikariConfig.loadProperties(HikariConfig.java:68)
     [java]     at com.zaxxer.hikari.AbstractHikariConfig.<init>(AbstractHikariConfig.java:142)
     [java]     at com.zaxxer.hikari.HikariConfig.<init>(HikariConfig.java:56)
     [java]     at com.erdas.apollo.config.ds.ProtectedHikariConfig.<init>(ProtectedHikariConfig.java:24)
     [java]     at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
     [java]     at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
     [java]     at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
     [java]     at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
     [java]     at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147)
     [java]     at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:122)
     [java]     at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:267)
     [java]     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1139)
     [java]     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1042)
     [java]     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:504)
     [java]     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
     [java]     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)
     [java]     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
     [java]     at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299)
     [java]     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
     [java]     at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:351)
     [java]     at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:108)
     [java]     at org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:648)
     [java]     at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:140)
     [java]     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1139)
     [java]     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1042)
     [java]     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:504)
     [java]     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
     [java]     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)
     [java]     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
     [java]     at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299)
     [java]     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
     [java]     at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:351)
     [java]     at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:108)
     [java]     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1477)
     [java]     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1222)
     [java]     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537)
     [java]     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
     [java]     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)
     [java]     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
     [java]     at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299)
     [java]     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
     [java]     at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:736)
     [java]     at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:757)
     [java]     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480)
     [java]     at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
     [java]     at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
     [java]     at com.erdas.rsp.babel.upgrade.service.BabelSchemaManagerInvoker.main(BabelSchemaManagerInvoker.java:178)
     [java] Caused by: java.lang.NoClassDefFoundError: sun/misc/BASE64Decoder
     [java]     at com.erdas.apollo.security.CipherUtil$2.initialValue(CipherUtil.java:44)
     [java]     at com.erdas.apollo.security.CipherUtil$2.initialValue(CipherUtil.java:41)
     [java]     at java.base/java.lang.ThreadLocal.setInitialValue(Unknown Source)
     [java]     at java.base/java.lang.ThreadLocal.get(Unknown Source)
     [java]     at com.erdas.apollo.security.CipherUtil.decrypt(CipherUtil.java:126)
     [java]     at com.erdas.apollo.config.ds.ProtectedHikariConfig.setPassword(ProtectedHikariConfig.java:29)
     [java]     ... 53 more
     [java] Caused by: java.lang.ClassNotFoundException: sun.misc.BASE64Decoder
     [java]     at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
     [java]     at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
     [java]     at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
     [java]     ... 59 more
     [java] 2018-06-22 11:50:06,027 - Exception encountered during context initialization - cancelling refresh attempt

 

Contributors