After migrating a working Vendor SDK based project with a complex classpath from 1.8.0 to 11.0.4 using compliance level 11 most run configurations are failing. I reverted changes and restored use of 1.8.0 and everything works. Change preferences to use 11.0.4 and compliance level 11 and again fails same issue.
Message received:
Error: Could not find or load main class CSDWCSDWBORepositorybin;C:libApachecommons-lang3-3.7commons-lang3-3.7.jar;C:usrMyEclipseWorkSpace
Caused by: java.lang.ClassNotFoundException: CSDWCSDWBORepositorybin;C:libApachecommons-lang3-3/7commons-lang3-3/7/jar;C:usrMyEclipseWorkSpace
There is a major difference in the Run Commands between these JDKS.
With JDK 1.8.0_201
C:Program FilesJavajdk1.8.0_201binjavaw.exe -agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:52137 “-Dlog4j.configuration=srclog4jConfig.xml” -Xms1024M -Xmx1024M -Djava.net.preferIPv4Stack=true “-javaagent:C:usrMyEclipse CIconfigurationorg.eclipse.osgi853 .cplibjavaagent-shaded.jar” -Dfile.encoding=Cp1252 us.nc.state.dhhs.csdw.businessobjects.repository.RefreshRepository wv1hhcsdwAP01d:6400
With JDK 11.0.4
C:usrMyEclipse CIbinarycom.sun.java.jdk11.win32.x86_64_1.11.2binjavaw.exe -agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:53420 “-Dlog4j.configuration=srclog4jConfig.xml” -Xms1024M -Xmx1024M -Djava.net.preferIPv4Stack=true “-javaagent:C:usrMyEclipse CIconfigurationorg.eclipse.osgi853 .cplibjavaagent-shaded.jar” -Dfile.encoding=Cp1252 “@C:usrMyEclipseWorkSpace CSDWCSDWBORepository.temp-RefreshRepositoryDev-classpath-arg-1570715104463.txt” us.nc.state.dhhs.csdw.businessobjects.repository.RefreshRepository wv1hhcsdwAP01d:6400
It appears classpath is now set in 11.0.4 by temp file using “@C:usrMyEclipseWorkSpace CSDWCSDWBORepository.temp-RefreshRepositoryDev-classpath-arg-1570715104463.txt”
This file starts as follows notice the unquoted path (attached file below):
-classpath C:usrMyEclipseWorkSpace CSDWCSDWBORepositorybin;C:libApachecommons-lang3-3.7commons-lang3-3.7.jar;C:usrMyEclipseWorkSpace CSDWApache Commons Langbin;
The failure is occurring with the first non-quoted classpath entry resulting in the execution using CSDWCSDWBORepositorybin; as the main class.
I haven’t been able to find an option to force quoting of this generated classpath.
发表回复