Eclipse RCP : Unable to load class application
Bonjour à tous et à toutes.
Comme d'habitude, lorsque je modifie lourdement le projet RCP de l'application que je développe et enrichie régulièrement : ça ne se lance plus et je sais que j'en ai pour 15 jours à trouve LA ligne qui merde !
Donc cette fois-ci j'ai fais un portage du projet Eclipse 32 bits sous windows en 64 bits.
- Passage de Eclipse Mars à Eclipse Photon.
- Passage JRE 8 32 bits en JRE 10 64 bits
- Compilation de toutes les dlls JNI utilisées en 64 bits.
Et d'ailleurs j'ai été surpris, à par SWT pour lesque il faut un SWT_LIB, le reste s'est plutôt bien passé.
Sauf que quand j'ouvre le fichier product et que je fais "Launch an Eclipse Application in Debug Mode", ça fonctionne bien, l'application démarre... enfin ça dépend, si je change des réglages il faut TOUJOURS détruire la précédente "debug configuration" parce que sinon ça ne veut rien dire, parfois ça fonctionne mais en régénérant ça ne fonctionne plus un fois la "debug configuration" supprimée, parfois c'est l'inverse...
Passons, je suis dans un mode où là, ça fonctionne bien.
Je déploie l'application dans un nouveau répertoire pour générer le kit d'installation qui fonctionne depuis près de 6 ans.
Et là, une fois déployée, l'application ne démarre pas, j'ai ce log :
Citation:
!SESSION 2018-09-24 14:07:00.200 -----------------------------------------------
eclipse.buildId=unknown
java.version=10.0.2
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=fr_FR
Command-line arguments: -os win32 -ws win32 -arch x86_64
!ENTRY org.eclipse.osgi 4 0 2018-09-24 14:07:01.649
!MESSAGE Application error
!STACK 1
org.eclipse.core.runtime.CoreException: Plug-in geo.validator.gui.application was unable to load class geo.validator.gui.application.Application.
at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.throwException(RegistryStrategyOSGI.java:197)
at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:179)
at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:191)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
at org.eclipse.equinox.launcher.Main.main(Main.java:1471)
Caused by: java.lang.ClassNotFoundException: geo.validator.gui.application.Application cannot be found by geo.validator.gui.application_1.1.11
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:508)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
... 16 more
Je ne sais pas où chercher, le log n'est pas spécialement précis. Il doit manquer quelque chose quelque part ?
Peut-être les fragments AWT (je ne sais pas ce qu'est ce 'fragment' mais c'est marqué fragment), peut être autre chose.
Une fois j'ai cherché 10 jours avant de m'apercevoir qu'il fallait ajouter une ligne dans un des fichiers.
Et j'y comprend pas grand chose, je ne sais pas quelles sont les plugins nécessaires : ça se débrouille presque seul, j'ai dû en ajouter à la main pour que l'export du .product compile.
Là comme ça, vous ne me donnerez pas de réponse, ce n'est pas assez précis. Je peux vous fournir quelques fichiers de confs mais après ? Je recherche plus une méthode, les trucs à examiner qui peuvent provoquer ce problème...