0

We are currently migrating from Java 8 to Java 17 + open web start. We are facing an issue we are not able to solve after quite a lot of research : We get a ClassNotFound error on java.sql.Date when launching the client. The package is present in the module.java file.

Here is the complete stack

java.lang.ClassNotFoundException: java.sql.Date
    at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:587)
    at java.rmi/sun.rmi.server.LoaderHandler$Loader.loadClass(LoaderHandler.java:1216)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
    at java.base/java.lang.Class.forName0(Native Method)
    at java.base/java.lang.Class.forName(Class.java:467)
    at java.rmi/sun.rmi.server.LoaderHandler.loadClassForName(LoaderHandler.java:1230)
    at java.rmi/sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:458)
    at java.rmi/sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:188)
    at java.rmi/java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:639)
    at java.rmi/java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:265)
    at java.rmi/sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java:199)
    at java.base/java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:2045)
    at java.base/java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1909)
    at java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2235)
    at java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1744)
    at java.base/java.io.ObjectInputStream$FieldValues.<init>(ObjectInputStream.java:2617)
    at java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2468)
    at java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2268)
    at java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1744)
    at java.base/java.io.ObjectInputStream$FieldValues.<init>(ObjectInputStream.java:2617)
    at java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2468)
    at java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2268)
    at java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1744)
    at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:514)
    at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:472)
    at java.rmi/sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:328)
    at java.rmi/sun.rmi.server.UnicastRef.invoke(UnicastRef.java:178)
    at java.rmi/java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:215)
    at java.rmi/java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:160)
    at jdk.proxy2/jdk.proxy2.$Proxy13.exec(Unknown Source)
    at net.sf.extrmi.ClientRMIInterceptorControl.makeRemoteInvocation(ClientRMIInterceptorControl.java:312)
    at net.sf.extrmi.ClientRMIInterceptorControl.invoke(ClientRMIInterceptorControl.java:208)
    at jdk.proxy2/jdk.proxy2.$Proxy13.getVersionStruct(Unknown Source)
    at kim.util.client.entryadm.mvc.LauncherCtrl.checkAppl(LauncherCtrl.java:162)
    at kim.util.client.entryadm.mvc.LauncherCtrl$1.run(LauncherCtrl.java:86)
    at java.base/java.lang.Thread.run(Thread.java:833)

and the jnlp file:

<?xml version="1.0"?>
<!-- JNLP File for gsi --> 
<jnlp 
     spec="1.0+" 
     codebase="http://vm2022v7st:8060/xxx" 
> 
  <information> 
    <title>xxx</title> 
    <vendor>xxxx</vendor> 
    <homepage href="http://www.xxxxxx.com"/> 
    <description>xxxxx</description> 
    <description kind="short">xxxxx</description>
    <icon href="http://vm2022v7st:8060/KimWeb/ressources/images/jws/kimweb_64x64.png"/>
    <icon kind="splash" href="http://vm2022v7st:8060/KimWeb/ressources/images/jws/splash_screen_kimoce.png"/>
  </information> 
  <security>
   <all-permissions />
  </security>  
  <update check="never" policy="always"/>  <resources> 
    <j2se version="17+" max-heap-size="1024m"/>
    <jar name="kimweb" href="http://vm2022v7st:8060/KimWeb/ressources/lib/kimweb.jar"/>
    <jar name="utilscommons-1.0" href="http://vm2022v7st:8060/KimWeb/ressources/lib/utilscommons-1.0.jar"/>
    <jar name="extrmi-0.2.4.3.Kim1.0" href="http://vm2022v7st:8060/KimWeb/ressources/lib/extrmi-0.2.4.3.Kim1.0.jar"/>
    <jar name="commons-logging-1.1.1" href="http://vm2022v7st:8060/KimWeb/ressources/lib/commons-logging-1.1.1.jar"/>
    <jar name="commons-collections-3.2.1" href="http://vm2022v7st:8060/KimWeb/ressources/lib/commons-collections-3.2.1.jar"/>
    <jar name="jcommon-1.0.23" href="http://vm2022v7st:8060/KimWeb/ressources/lib/jcommon-1.0.23.jar"/>
    <jar name="jfreechart-1.0.19" href="http://vm2022v7st:8060/KimWeb/ressources/lib/jfreechart-1.0.19.jar"/>
    <jar name="swingx-1.6.1" href="http://vm2022v7st:8060/KimWeb/ressources/lib/swingx-1.6.1.jar"/>
    <jar name="hibernate-entitymanager-5.2.5.Final" href="http://vm2022v7st:8060/KimWeb/ressources/lib/hibernate-entitymanager-5.2.5.Final.jar"/>
    <jar name="hibernate-c3p0-5.2.5.Final" href="http://vm2022v7st:8060/KimWeb/ressources/lib/hibernate-c3p0-5.2.5.Final.jar"/>
    <jar name="hibernate-core-5.2.5.Final" href="http://vm2022v7st:8060/KimWeb/ressources/lib/hibernate-core-5.2.5.Final.jar"/>
    <jar name="hibernate-validator-5.3.4.Final" href="http://vm2022v7st:8060/KimWeb/ressources/lib/hibernate-validator-5.3.4.Final.jar"/>
    <jar name="hibernate-jpa-2.1-api-1.0.0.Final" href="http://vm2022v7st:8060/KimWeb/ressources/lib/hibernate-jpa-2.1-api-1.0.0.Final.jar"/>
    <jar name="javassist-3.18.1-GA" href="http://vm2022v7st:8060/KimWeb/ressources/lib/javassist-3.18.1-GA.jar"/>
    <jar name="jboss-logging-3.3.0.Final" href="http://vm2022v7st:8060/KimWeb/ressources/lib/jboss-logging-3.3.0.Final.jar"/>
    <jar name="geronimo-jms_1.1_spec-1.1.1" href="http://vm2022v7st:8060/KimWeb/ressources/lib/geronimo-jms_1.1_spec-1.1.1.jar"/>
    <jar name="activemq-all-5.17.2" href="http://vm2022v7st:8060/KimWeb/ressources/lib/activemq-all-5.17.2.jar"/>
    <jar name="activemq-jaas-5.17.2" href="http://vm2022v7st:8060/KimWeb/ressources/lib/activemq-jaas-5.17.2.jar"/>
    <jar name="geronimo-j2ee-1.0" href="http://vm2022v7st:8060/KimWeb/ressources/lib/geronimo-j2ee-1.0.jar"/>
    <jar name="twain-1.0" href="http://vm2022v7st:8060/KimWeb/ressources/lib/twain-1.0.jar"/>
    <jar name="postgresql-42.2.19-2" href="http://vm2022v7st:8060/KimWeb/ressources/lib/postgresql-42.2.19-2.jar"/>
    <jar name="jcs-1.3" href="http://vm2022v7st:8060/KimWeb/ressources/lib/jcs-1.3.jar"/>
    <jar name="concurrent-1.3.4" href="http://vm2022v7st:8060/KimWeb/ressources/lib/concurrent-1.3.4.jar"/>
    <jar name="javafx-base-17.0.2-linux" href="http://vm2022v7st:8060/KimWeb/ressources/lib/javafx-base-17.0.2-linux.jar"/>
    <jar name="javafx-controls-17.0.2-linux" href="http://vm2022v7st:8060/KimWeb/ressources/lib/javafx-controls-17.0.2-linux.jar"/>
    <jar name="javafx-fxml-17.0.2-linux" href="http://vm2022v7st:8060/KimWeb/ressources/lib/javafx-fxml-17.0.2-linux.jar"/>
    <jar name="javafx-graphics-17.0.2-linux" href="http://vm2022v7st:8060/KimWeb/ressources/lib/javafx-graphics-17.0.2-linux.jar"/>
    <jar name="javafx-media-17.0.2-linux" href="http://vm2022v7st:8060/KimWeb/ressources/lib/javafx-media-17.0.2-linux.jar"/>
    <jar name="javafx-swing-17.0.2-linux" href="http://vm2022v7st:8060/KimWeb/ressources/lib/javafx-swing-17.0.2-linux.jar"/>
    <jar name="javafx-web-17.0.2-linux" href="http://vm2022v7st:8060/KimWeb/ressources/lib/javafx-web-17.0.2-linux.jar"/>
    <jar name="javafx-base-17.0.2-win" href="http://vm2022v7st:8060/KimWeb/ressources/lib/javafx-base-17.0.2-win.jar"/>
    <jar name="javafx-controls-17.0.2-win" href="http://vm2022v7st:8060/KimWeb/ressources/lib/javafx-controls-17.0.2-win.jar"/>
    <jar name="javafx-fxml-17.0.2-win" href="http://vm2022v7st:8060/KimWeb/ressources/lib/javafx-fxml-17.0.2-win.jar"/>
    <jar name="javafx-graphics-17.0.2-win" href="http://vm2022v7st:8060/KimWeb/ressources/lib/javafx-graphics-17.0.2-win.jar"/>
    <jar name="javafx-media-17.0.2-win" href="http://vm2022v7st:8060/KimWeb/ressources/lib/javafx-media-17.0.2-win.jar"/>
    <jar name="javafx-swing-17.0.2-win" href="http://vm2022v7st:8060/KimWeb/ressources/lib/javafx-swing-17.0.2-win.jar"/>
    <jar name="javafx-web-17.0.2-win" href="http://vm2022v7st:8060/KimWeb/ressources/lib/javafx-web-17.0.2-win.jar"/>
 
    <jar name="pluginsmanager" href="http://vm2022v7st:8060/KimWeb/ressources/lib/pluginsmanager.jar"/>
    <jar name="slf4j-api-2.0.0.jar" href="http://vm2022v7st:8060/KimWeb/ressources/lib/slf4j-api-2.0.0.jar"/>
   <property name="net.sf.extrmi.RMIInterceptorControlInitInfo.RMIInterceptorClass.kim.rmi.extrmi.interceptor.TransacRmiInterceptor" value=""/>
  </resources> 
  <application-desc main-class="kim.appli.frame.entryadm.Launcher">
    <argument>bundleUrl=http://vm2022v7st:8060/KimWeb/ressources/lib/kimoce-bundles.jar|prism.order=j2d|--add-opens=java.base/java.lang=ALL-UNNAMED</argument>
  </application-desc>
</jnlp> 

We checked the the module.java file, added the add-opens=java.base/java.lang=ALL-UNNAMED, but no result

Has somebody had this issue before?

Mark Rotteveel
  • 100,966
  • 191
  • 140
  • 197
oslodev
  • 1
  • 2
  • Does your project have a `module-info.java`? If so, does it contain `requires java.sql;`? – Mark Rotteveel Nov 25 '22 at 16:23
  • Yes we did. Here's the content of the file :requires kernel.remote; requires commons.collections; requires cre.icu4j; requires jasperreports; requires java.datatransfer; requires java.desktop; requires java.logging; requires java.management; requires java.naming; requires java.prefs; requires java.rmi; requires java.sql; requires javafx.base; requires javafx.controls; requires javafx.graphics; requires javafx.swing; requires javafx.web; requires javafx.fxml; requires javafx.media; requires jcs; requires jdk.jsobject; .. – oslodev Nov 25 '22 at 18:07
  • My experience with the Java Module System is limited, but have you tried adding add-opens=java.sql/java.sql=java.rmi – Mark Rotteveel Nov 26 '22 at 07:54
  • Hello, thanks for your reply. We tried this : ``and this `` with no result (same error) – oslodev Nov 28 '22 at 10:58

0 Answers0