2016-03-11 7 views
8

Ich lerne COMPS. Bis jetzt hat alles sehr gut funktioniert, aber ich habe nur die Beispiele aus dem Handbuch ausgeführt.Die COMPS-Anwendung kann nicht ausgeführt werden. ClassNotFoundException

Nun, da ich meine eigene Testanwendung ausführen möchte, kann ich es nicht zum Laufen bringen. Ich muss etwas vermissen, aber ich kann nicht sehen, was ich falsch mache.

Meine Anwendung heißt App und hat die Hauptklasse App und die Schnittstelle in einer anderen Klasse namens AppItf. Wenn ich versuche, es zu laufen runcompss mit:

runcompss -d --classpath = $ PWD/app.jar App

ich die folgende Meldung:

Standardverzeichnis verwenden für die Projektdatei: /opt/COMPSs/Runtime/scripts/user/../../configuration/xml/projects/project.xml Verwenden des Standardspeicherorts für die Ressourcendatei: /opt/COMPSs/Runtime/scripts/user /../../configuration/xml/resources/resources.xml

----------------- Ausführende App --------------------------

[Loader] - Beim Laden oder Ausführen Ihrer -Anwendung ist ein Fehler aufgetreten. java.lang.reflect.InvocationTargetException bei sun.reflect.NativeMethodAccessorImpl.invoke0 (native Methode) bei sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:57) bei sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java: 43) bei java.lang.reflect.Method.invoke (Methode.java:606) bei integratedtoolkit.loader.ITAppLoader.load (ITAppLoader.java:54) bei integratedtoolkit.loader.ITAppLoader.main (ITAppLoader.java: 84) verursacht von: java.lang.ClassNotFoundException: AppItf bei java.net.URLClassLoader $ 1.run (URLClassLoader.java:366) bei java.net.URLClassLoader $ 1.run (URLClassLoader.java:355) auf Java .security.AccessController .doPrivileged (native Methode) bei java.net.URLClassLoader.findClass (URLClassLoader.java:354) bei java.lang.ClassLoader.loadClass (ClassLoader.java:425) bei sun.misc.Launcher $ AppClassLoader.loadClass (Launcher.java308) bei java.lang.ClassLoader.loadClass (ClassLoader.java:358) bei integratedtoolkit.loader.CustomLoader.loadClass (CustomLoader.java:56) bei java.lang.Class.forName0 (native Methode) bei Java.Lang.Class.forName (Class.java:195) bei integratedtoolkit.loader.total.ITAppModifier.modify (ITAppModifier.java:46) ... 6 weitere

Fehler Anwendung ausgeführt

Kann mir jemand helfen zu finden, was ich falsch mache?

Vielen Dank im Voraus!

+2

java.lang.ClassNotFoundException: AppItf. Haben Sie die Taskdefinitionsschnittstelle definiert? –

+0

Ja, habe ich. Es ist eine sehr einfache Schnittstelle mit nur einer Aufgabe. Aber es sagt, es findet es nicht. Und ich habe sichergestellt, dass es keine Tippfehler in den Klassennamen gibt und der Klassenpfad korrekt ist ... es ist ziemlich seltsam –

+0

Ist Ihre Hauptklasse in einem Paket? –

Antwort

5

Im runcompss-Befehl müssen Sie den vollständig qualifizierten Domänennamen der Klasse angeben. Wenn diese Klasse ein Paket hat, müssen Sie das Paket zum Klassennamen hinzufügen. Es fehlt derzeit.

+0

Ja! Das war der Fehler! Die runcompss Linie, die funktionierte, ist: runcompss -d --classpath = $ PWD/App.jar app.App Ich musste nur "app" vor dem Hauptklassennamen hinzufügen. Vielen Dank! –