Unable to find or load main class

Hi everybody !

There is longtime i didn't came here . I've now more time to continue my robot . So to be up to date, i've revoved all myrobotlab's files from my computer and started with a clean place, installed the latest eclipse version and followed the quick start mrl instruction page to avoid any error . But i get this error "unable to find or load main class" if i try to launch "runtime" . I can compile mrl with maven under eclipse whitout problem.

After try a lot of things whithout success ,i need your help ! 

I've created another workspace whith a simple helloworld project . it work  

And another thing. When i named my robot Sweety, i didn't paid attention to what it mean in other langages . So now i think to change his name by Andrew by exemple . But how to do it without break mrl ? 

Thank you for your help

kwatters's picture

develop branch?

Welcome back beetlejuice,  are you working on the develop branch of myrobotlab?  If so, in eclipse you need to make sure you import the project as a "maven" project.  Otherwise, the class path won't be setup properly.

(That's my first guess, without knowing more of what you are doing.) 

You can re-name the Sweety service to Andrew it won't break anything.  

beetlejuice's picture

Hi,Yes, i'm working on

Hi,

Yes, i'm working on develop branch. I've cloned the branch with git and imported the project as existing maven project.

In java build path there is:

source :myrobotlab/src/main/java, myrobotlab/src/main/resourcces, myrobotlab/src/test/java, myrobotlab/src/test/resources .

project : empty

libraries : jdk 1.8, maven dependencies

order and export : same as source

module dependencies : empty

in run/debug settings :

main : org.myrobotlab.service.Runtime.

Classpath : bootstrap -> jdk 1.8 ; user entries ->myrobotlab folder and maven dependencies library

sources : default (jdk folder, myrobotlab folder, .m2 folder)

 

with Xdiag option, i get this info :

Erreur : impossible de trouver ou charger la classe principale org.myrobotlab.service.Runtime
java.lang.ClassNotFoundException: org.myrobotlab.service.Runtime
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495)
 

----------

About rename sweety, i thinked rename more files:

In resources folder Sweety .png and Sweety.py

GroG's picture

Hi Beetlejuice !   Welcome

Hi Beetlejuice !  
Welcome back :D

If you imported as maven project - it should work after a "mave -> update"

I'm starting to go through the README.md and updating/revising it

Yes, when you change a service's name you'll need to chage the {ServiceType}.png and /resource/{ServiceType} and {ServiceType}.py

Let's get Sweety Andrew worky again !

beetlejuice's picture

I finally found the problems

I finally found the problems !

The first thing was to reinstall eclipse (replace eclipse 2019-12 by eclipse 2020-03) . 

After that, myrobotlab was running but only without arguments. The problem was an error in the arguments :

quick start page indicate "-service gui SwingGui..." but myrobotlab indicate "--service ....." .So i just replaced "-service ..." by "--service .."

I think quick start page must be updated

Now all is ok ! 

GroG's picture

That's great beetle ... We

That's great beetle ...
We conform now to standard command line notation

you can use short version -s  or long version --service

happy programming !

Thanks for the heads up on the readme I'll correct it.