testforstephen / vscode-pde

VSCode extension to support Eclipse PDE
18 stars 4 forks source link

java.lang.ClassNotFoundException: org.eclipse.core.runtime.adaptor.EclipseStarter #25

Closed muriloht closed 4 years ago

muriloht commented 4 years ago

In older versions i sucessfully used an eclipse application on vscode with this extension, but today when trying i'm getting this erro on try to debug:

!SESSION Sun Jun 28 17:15:56 BRT 2020 ------------------------------------------ !ENTRY org.eclipse.equinox.launcher 4 0 2020-06-28 17:15:56.071 !MESSAGE Exception launching the Eclipse Platform: !STACK java.lang.ClassNotFoundException: org.eclipse.core.runtime.adaptor.EclipseStarter at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:471) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:588) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:654) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:594) at org.eclipse.equinox.launcher.Main.run(Main.java:1447) at org.eclipse.equinox.launcher.Main.main(Main.java:1420)

can I help with something ?

testforstephen commented 4 years ago

Could you please have a try on the command below?

F1 -> Java: Clean the Java language server workspace

muriloht commented 4 years ago

Thank you for your response @testforstephen ,

I tried the following steps:

1 "Clean the Java language server workspace" (Restart and Delete) 2 "Reload Target Platform" (everything Done / Success) 3 "Debug PDE Application" (using my working Eclipse launch file)

And then again I got the error: !ENTRY org.eclipse.equinox.launcher 4 0 2020-06-30 18:46:59.051 !MESSAGE Exception launching the Eclipse Platform: !STACK java.lang.ClassNotFoundException: org.eclipse.core.runtime.adaptor.EclipseStarter at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:471) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:588) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:654) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:594) at org.eclipse.equinox.launcher.Main.run(Main.java:1447) at org.eclipse.equinox.launcher.Main.main(Main.java:1420)

If it helps I'm trying to make the https://github.com/idempiere/idempiere run inside vscode. The steps to build running workspace are simple:

1 - clone the https://github.com/idempiere/idempiere repository (master branch) 2 - from command line, set JAVA_HOME to a JDK 11 version 3 - run mvn -U verify 4 - open vscode (with all java, pde and other plugins already installed) and import the repository folder 5 - go to org.idempiere.p2.targetplatform project and reload the platform using the org.idempiere.p2.targetplatform.target file 6 - got to org.adempiere.install project and try to run the install.console.app.launch application (the error appears)

muriloht commented 4 years ago

I'm still trying to make it work, but no luck for now...

i hope to have good news soon, and then i'll update this task

testforstephen commented 4 years ago

In your root folder, you could try to add a javaConfig.json file there. The PDE extension depends on this config file to understand your project structure and your target file. After you added the config file, please F1 -> Java: Clean the Java language server workspace and try again.

javaConfig.json

{
    "projects": [
        "org.adempiere.base",
        "org.adempiere.base.callout",
        "org.adempiere.base.process",
        "org.adempiere.payment.processor",
        "org.adempiere.eclipse.equinox.http.servlet",
        "org.adempiere.install",
        "org.adempiere.pipo",
        "org.adempiere.pipo.handlers",
        "org.adempiere.plugin.utils",
        "org.adempiere.replication",
        "org.adempiere.replication.server",
        "org.adempiere.report.jasper.library",
        "org.adempiere.report.jasper",
        "org.adempiere.server",
        "org.adempiere.ui",
        "org.adempiere.ui.zk",
        "org.apache.ecs",
        "org.compiere.db.oracle.provider",
        "org.compiere.db.postgresql.provider",
        "org.idempiere.felix.webconsole",
        "org.idempiere.hazelcast.service",
        "org.idempiere.webservices",
        "org.idempiere.webservices-feature",
        "org.idempiere.zk.extra",
        "org.adempiere.report.jasper-feature",
        "org.adempiere.base-feature",
        "org.adempiere.replication-feature",
        "org.adempiere.pipo-feature",
        "org.adempiere.replication.server-feature",
        "org.adempiere.server-feature",
        "org.adempiere.ui.zk-feature",
        "org.compiere.db.provider-feature",
        "org.idempiere.eclipse.platform-feature",
        "org.idempiere.equinox.p2.director-feature",
        "org.idempiere.felix.webconsole-feature",
        "org.idempiere.hazelcast.service-feature",
        "org.adempiere.payment.processor-feature",
        "org.idempiere.zk-feature",
        "org.idempiere.webservices.client-feature",
        "org.idempiere.p2",
        "org.idempiere.javadoc",
        "org.idempiere.test"
    ],
    "targetPlatform": "org.idempiere.p2.targetplatform/org.idempiere.p2.targetplatform.target"
}
testforstephen commented 4 years ago

@muriloht Did you update Eclipse launch configuration file .launch recently? One possible reason i suspect is the new launch configuration format is not fully supported by the vscode-pde extension. I just got the same error when trying vscode-pde on a new launch file exported by Eclipse 2020-09 version, where the .launch file is a little different with an old version. Will update vscode-pde to see whether it can mitigate the exception.

image

For example, the old version uses a string attribute deselected_workspace_plugins, the new version uses a list attribute deselected_workspace_bundles. It seems vscode-pde cannot parse the new format.

muriloht commented 4 years ago

hi @testforstephen ,

sorry for my late answer... I tried your last suggestion about creating the javaConfig.json file , but still no success....

now, reading about the syntax change on lauch file, it makes a lot of sense!

The last time that I succesfully executed the iDempiere project on vscode-pde i think i was using the Eclipse 2019-03 , and after i started the have the problem we was already on 2020-03

testforstephen commented 4 years ago

@muriloht I added a private hotfix at https://github.com/testforstephen/vscode-test/raw/master/vscode-pde-0.5.1.vsix, you can have a try on it.

muriloht commented 4 years ago

@testforstephen ,

Thank you very much for your effort... It's working perfect with the 0.5.1 hotfix!

testforstephen commented 4 years ago

Since this issue is fixed in the 0.5.1, close it.

muriloht commented 4 years ago

xRef: https://wiki.idempiere.org/en/Running_iDempiere_within_VSCode

testforstephen commented 4 years ago

Good to know the progress.