Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

kann java Programm "jperf-2.0.0.jar" nicht starten

Alles rund um die verschiedenen Konsolen und shells sowie die Programmierung unter Linux

Moderator: Moderatoren

Antworten
OpenSuxiser
Newbie
Newbie
Beiträge: 12
Registriert: 5. Sep 2008, 15:53

kann java Programm "jperf-2.0.0.jar" nicht starten

Beitrag von OpenSuxiser »

Hallo,

Java ist in Version 1.6.0_07 installiert.

Code: Alles auswählen

4850e:/home/opensuxiser/jperf-200 # java -version
java version "1.6.0_07"
Java(TM) SE Runtime Environment (build 1.6.0_07-b06)
Java HotSpot(TM) 64-Bit Server VM (build 10.0-b23, mixed mode)
Zip Archiv "jperf-2.0.0.zip" entpackt und ins Verzeichnis gewechselt.
Dann wollte ich mit "java -jar jperf-2.0.0.jar das Programm starten. Geht nicht.

Code: Alles auswählen

drwxr-xr-x 2 opensuxiser users  4096 19. Mär 16:46 bin
-rw-r--r-- 1 opensuxiser users 61476 19. Mär 16:58 jperf-2.0.0.jar
-rw-r--r-- 1 opensuxiser users   160 19. Mär 16:44 jperf.bat
-rw-r--r-- 1 opensuxiser users   159 19. Mär 16:44 jperf.sh
drwxr-xr-x 2 opensuxiser users  4096 19. Mär 16:48 lib
Ich erhalte folgende Fehlermeldung.

Code: Alles auswählen

4850e:/home/opensuxiser/jperf-200 # java -jar jperf-2.0.0.jar
Failed to load Main-Class manifest attribute from jperf-2.0.0.jar
Was ist hier los? Wer kann helfen? In der Konsole bin ich als Root angemeldet.
Tschau
OpenSuxiser


AMD X2 4850e | GA-MA78GM-S2H | 4GB | WD5000AACS
OpenSuse 11.0 (Kernel 2.6.25.11-0.1-default) & Gnome 2.22.1 (64Bit)
abgdf
Guru
Guru
Beiträge: 3403
Registriert: 13. Apr 2004, 21:15

Re: kann java Programm "jperf-2.0.0.jar" nicht starten

Beitrag von abgdf »

ftp://ftp.t50.ru/in/jperf-2.0.0/jperf.sh

sagt

Code: Alles auswählen

java -classpath jperf-2.0.0.jar:lib/forms-1.1.0.jar:lib/jcommon-1.0.10.jar:lib/jfreechart-1.0.6.jar:lib/swingx-2008_02_03.jar net.nlanr.jperf.JPerf
Gruß
OpenSuxiser
Newbie
Newbie
Beiträge: 12
Registriert: 5. Sep 2008, 15:53

Re: kann java Programm "jperf-2.0.0.jar" nicht starten

Beitrag von OpenSuxiser »

Hallo,

geht funktioniert so noch nicht.

Muß ich ins Verzeichnis /bin/sh wechseln? In /sh komme ich nämlich nicht. Das ist bei mir eine Verknüpfung und kein Verzeichnis.
Wenn ich den obigen Befehl in meinem Homeverzeichnis oder in /bin eingebe, dann erscheint immer das hier:

Code: Alles auswählen

4850e:/> java -classpath jperf-2.0.0.jar:lib/forms-1.1.0.jar:lib/jcommon-1.0.10.jar:lib/jfreechart-1.0.6.jar:lib/swingx-2008_02_03.jar net.nlanr.jperf.JPerf
Exception in thread "main" java.lang.NoClassDefFoundError: net/nlanr/jperf/JPerf
Caused by: java.lang.ClassNotFoundException: net.nlanr.jperf.JPerf
	at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
4850e:/> 
Wenn ich dann versuche die jperf-2.0.0.jar zu starten erhalte ich wieder diese Fehlermeldung:

Code: Alles auswählen

4850e:~/jperf-200> java -jar jperf-2.0.0.jar
Failed to load Main-Class manifest attribute from jperf-2.0.0.jar
hmm - Moment
Dann habe ich den langen Befehl als Root nochmal eingeben, dann startete jperf. Warum denn das? :???:
Wie kann ich jperf auch ohne Root Rechte starten?
Tschau
OpenSuxiser


AMD X2 4850e | GA-MA78GM-S2H | 4GB | WD5000AACS
OpenSuse 11.0 (Kernel 2.6.25.11-0.1-default) & Gnome 2.22.1 (64Bit)
Wizzzard
Member
Member
Beiträge: 208
Registriert: 27. Mai 2006, 16:28
Wohnort: Pulheim

Re: kann java Programm "jperf-2.0.0.jar" nicht starten

Beitrag von Wizzzard »

OpenSuxiser hat geschrieben:

Code: Alles auswählen

4850e:/> java -classpath jperf-2.0.0.jar:lib/forms-1.1.0.jar:lib/jcommon-1.0.10.jar:lib/jfreechart-1.0.6.jar:lib/swingx-2008_02_03.jar net.nlanr.jperf.JPerf
Wenn ich dann versuche die jperf-2.0.0.jar zu starten erhalte ich wieder diese Fehlermeldung:

Code: Alles auswählen

4850e:~/jperf-200> java -jar jperf-2.0.0.jar
Failed to load Main-Class manifest attribute from jperf-2.0.0.jar
Der zweite Aufruf ist totaler Quatsch. Das Jar ist nicht dafür vorgesehen, mit java -jar aufgerufen zu werden. Der 1. Aufruf ist im Prinzip richtig, aber die Angabe des Klassenpfades ist relativ. Das bedeutet, beim Aufruf musst Du Dich genau an der Stelle im Dateisystem befinden, von der aus das java die Jars im Klassenpfad genau so sehen kann.

Das bedeutet jperf-2.0.0.jar ist im aktuellen Arbeitszverzeichnis und alle anderen Jars sind im lib-Verzeichnis dadrunter.

Außerdem kann man bei java -jar den Schalter -cp nicht verwenden

Dann liegt im entpackten Verzeichnis ein

Code: Alles auswählen

jperf.sh
. Damit solltest Du jperf auch Aufrufen können.
openSUSE Leap 15.1
Asrock 970 Extreme3 R2.0, AMD FX 8320E 3200 MHz, 16 GiB DDR3 1600, NVidia GTX 1050ti
OpenSuxiser
Newbie
Newbie
Beiträge: 12
Registriert: 5. Sep 2008, 15:53

Re: kann java Programm "jperf-2.0.0.jar" nicht starten

Beitrag von OpenSuxiser »

Hallo,

ich verstehe ehrlich gesagt nichts.
Andere Java Programme rufe ich auch mit "java .jar ..." auf und sie funktionieren. Ohne Root-Rechte. Warum soll das falsch sein?

Und kannst Du mir sagen wo ich hin muß für die lange Befehlskette, damit Java die Jars im Klassenpfad sehen kann?
Und warum funktioniert die lange Befehlskette mit Root-Rechten?
Eine Datei namens jperf.sh ist vorhanden. Geht aber noch nicht.
Tschau
OpenSuxiser


AMD X2 4850e | GA-MA78GM-S2H | 4GB | WD5000AACS
OpenSuse 11.0 (Kernel 2.6.25.11-0.1-default) & Gnome 2.22.1 (64Bit)
Wizzzard
Member
Member
Beiträge: 208
Registriert: 27. Mai 2006, 16:28
Wohnort: Pulheim

Re: kann java Programm "jperf-2.0.0.jar" nicht starten

Beitrag von Wizzzard »

OpenSuxiser hat geschrieben:Hallo,

ich verstehe ehrlich gesagt nichts.
Andere Java Programme rufe ich auch mit "java .jar ..." auf und sie funktionieren. Ohne Root-Rechte. Warum soll das falsch sein?
Das hat nichts mit Root-Rechten zu tun. Die Fehlermeldung beim Aufruf mit java -jar besagt, dass in der Jar-Datei nicht drin steht, welche Klasse die main-Methode enthält. Also weiß java nicht was es mit dem Jar machen soll. Es gibt sozusagen ausführbare Jars und Jars, die nicht ausführbar sind und nur reine Programmbibliotheken sind.
OpenSuxiser hat geschrieben: Und kannst Du mir sagen wo ich hin muß für die lange Befehlskette, damit Java die Jars im Klassenpfad sehen kann?
Und warum funktioniert die lange Befehlskette mit Root-Rechten?
Eine Datei namens jperf.sh ist vorhanden. Geht aber noch nicht.
Du musst in das Verzeichnis, in der die jperf-2.0.0.jar steht. Oder gib beim -cp den absoluten Pfad zu den Jars ein. Wenn Du nicht weißt, was ich mit relativem und absoluten Pfad meine, siehe unten.

Das Skript jperf.sh ausführbar machen. (Hint: chmod). Oder aufrufen mit

Code: Alles auswählen

bash ./jperf.sh
Besorge Dir ein Buch zur Einführung in Java und ein Buch zur Arbeit mit der Kommandozeile!

Zu letzterem gibt es gerade den Thread
http://www.linux-club.de/viewtopic.php? ... &sk=t&sd=a
openSUSE Leap 15.1
Asrock 970 Extreme3 R2.0, AMD FX 8320E 3200 MHz, 16 GiB DDR3 1600, NVidia GTX 1050ti
OpenSuxiser
Newbie
Newbie
Beiträge: 12
Registriert: 5. Sep 2008, 15:53

Re: kann java Programm "jperf-2.0.0.jar" nicht starten

Beitrag von OpenSuxiser »

Hallo,

also nochmal.

okay, ich hatte beim rumprobieren etwas verwechselt.
Es ist egal ob ich mit Root-Rechten oder ohne den langen Befehl eingebe.

Code: Alles auswählen

java -classpath jperf-2.0.0.jar:lib/forms-1.1.0.jar:lib/jcommon-1.0.10.jar:lib/jfreechart-1.0.6.jar:lib/swingx-2008_02_03.jar net.nlanr.jperf.JPerf
Ich muß mich nur in dem jperf-200 genannten Verzeichnis befinden.
Wenn ich in einem anderen Verzeichnis bin, dann hilft allerdings auch die absolut Pfadangabe nichts.
Das finde ich nun wiederum sehr seltsam. Wofür braucht es dann die absolute Pfadangabe? ( /home/opensuxiser/jperf-200/jperf-2.0.0.jar )

Ansonsten, auch mit absoluter Pfadangabe, erhalte ich dann wieder diese Fehlermeldung.

Code: Alles auswählen

Exception in thread "main" java.lang.NoClassDefFoundError: net/nlanr/jperf/JPerf
Caused by: java.lang.ClassNotFoundException: net.nlanr.jperf.JPerf
   at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
   at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
   at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
Ist das jetzt ein Fehler von dem jperf Programm? Ein anderes Java Programm funktioniert nämlich ohne jedes Problem. Das rufe ich mit "java -jar" auf.

bash ./jperf.sh funktioniert ohne Probleme. Was meinst Du mit ausführbar machen?
Tschau
OpenSuxiser


AMD X2 4850e | GA-MA78GM-S2H | 4GB | WD5000AACS
OpenSuse 11.0 (Kernel 2.6.25.11-0.1-default) & Gnome 2.22.1 (64Bit)
Wizzzard
Member
Member
Beiträge: 208
Registriert: 27. Mai 2006, 16:28
Wohnort: Pulheim

Re: kann java Programm "jperf-2.0.0.jar" nicht starten

Beitrag von Wizzzard »

Mit ausführbar machen meine ich, das Executable-Flag beim Skript zu setzen.

java -jar funktioniert nur wenn das jar eine Manifest-Datei enthält in der auf die Klasse mit der main()-Methode verwiesen wird. Das ist aber nicht immer der Fall, z.B. hier.

Ansonsten hast Du eine Menge Defizite, die ich nicht ausgleichen kann. Lies Einführungen in Java und Linux!

http://www.galileocomputing.de/openbook ... 27_004.htm
http://www.galileocomputing.de/openbook/unix_guru/
openSUSE Leap 15.1
Asrock 970 Extreme3 R2.0, AMD FX 8320E 3200 MHz, 16 GiB DDR3 1600, NVidia GTX 1050ti
OpenSuxiser
Newbie
Newbie
Beiträge: 12
Registriert: 5. Sep 2008, 15:53

Re: kann java Programm "jperf-2.0.0.jar" nicht starten

Beitrag von OpenSuxiser »

Hallo,

okay, soweit erstmal verstanden. Ich werde mal lesen. Nur will ich kein Java Programmierer werden nur um ein Problem zu verstehen.

Nur eins verstehe ich nicht. Muß man immer gleich ganze Bücher lesen wenn man ein Problem hat? :???:
Versteht mich aber nicht falsch. Ich bin nicht zu faul zum lesen.
Im Fall von Samba habe ich bestimmt schon das halbe Internet ausgelesen und trotzdem gibt es keine goldene Lösung für mich um auf höhere und vor allen stabile Datenraten zwischen Linux und WinXP zu kommen. Laut G. Schnurer von der c't liegt das allein an den Samba Einstellungen.

Weiter im Text. Ich dachte ein Forum dient zur Problemlösung? Klare Frage - klare Antwort.
Wenn man gar nicht klar kommt, dann greift man von selbst zum Buch.
In dem Fall hier hatte ich gedacht würden paar Sätze genügen und der Fall ist abgeschlossen und jeder andere mit dem gleichen Problem liest hier nach und weis auch Bescheid.
Mir kommt es vor als wenn jeder bei einem größeren Problem gleich auf Bücher verweist.
Dann braucht man auch kein Forum. Meine jetzige Meinung.
Dann können die Moderatoren gleich Linklisten erstellen vom Problem auf irgendeine Online-Buchseite.
Das andere Problem ist, dass manche Bücher einfach veraltet sind.
Im Fall vom Suse Samba Buch. Darin wird höchstens WinNT erwähnt. Win2k oder gar WinXP gibts gar nicht.
Tschau
OpenSuxiser


AMD X2 4850e | GA-MA78GM-S2H | 4GB | WD5000AACS
OpenSuse 11.0 (Kernel 2.6.25.11-0.1-default) & Gnome 2.22.1 (64Bit)
Wizzzard
Member
Member
Beiträge: 208
Registriert: 27. Mai 2006, 16:28
Wohnort: Pulheim

Re: kann java Programm "jperf-2.0.0.jar" nicht starten

Beitrag von Wizzzard »

Du scheinst halt nicht viel zu wissen, z.B. scheinst Du überhaupt nicht zu wissen, wie man Pfade setzt. Eine CLASSPATH-Angabe funktioniert nunmal ähnlich zu einem PATH in der Shell.

Die letzte Fehlermeldung besagte, dass die angegebene Klasse auf der Kommandozeile nicht im Klassenpfad ist. Daraus folgt: Irgendwas hinter dem Schalter -cp ist falsch. Mit dem Wissen, wie Pfade aufgebaut sein müssen, also man weiß, warum Pfadangaben absolut sein müssen, sollte man das Problem selber lösen können.

Dann reitest Du darauf rum "Aber mit java -jar ging das doch immer!" Ich hatte Dir schon in der ersten Antwort geschrieben, warum das nicht geht. Das erinnert mich an ein kleines Kind das mit den Füssen aufstampft, weil ihm etwas nicht passt. Das ist nicht zielführend.

Dann scheinst Du auch keine Ahnung davon zu haben, was "Ausführbar" bei einer Datei bedeutet. Das sollte man schon wissen, was das bedeutet, und wie man das ändert. Da hast du wohl den Hinweis auf 'chmod' überlesen. Aber wenn ich Dir den ganzen Befehl erklären muss, ist mir das zuviel. Schon mal was von man-Pages gehört?

Über den Konqueror kann man über Eigenschaften aber auch das Ausführbar-Flag setzen.
openSUSE Leap 15.1
Asrock 970 Extreme3 R2.0, AMD FX 8320E 3200 MHz, 16 GiB DDR3 1600, NVidia GTX 1050ti
OpenSuxiser
Newbie
Newbie
Beiträge: 12
Registriert: 5. Sep 2008, 15:53

Re: kann java Programm "jperf-2.0.0.jar" nicht starten

Beitrag von OpenSuxiser »

Hallo,

wie kommst Du darauf das ich nicht weis wie man Pfade angibt? Habe ich doch alles hingeschrieben und ich weis das die Pfadangabe stimmt.

Wenn Du mir aber so von oben herab kommst und den Oberlehrer spielst, der "seine Kinder" erstmal als dumm hinstellt, dann kann ich auf Deine Hilfe auch verzichten.

Der Thread ist für mich jedenfalls beendet.
Tschau
OpenSuxiser


AMD X2 4850e | GA-MA78GM-S2H | 4GB | WD5000AACS
OpenSuse 11.0 (Kernel 2.6.25.11-0.1-default) & Gnome 2.22.1 (64Bit)
Wizzzard
Member
Member
Beiträge: 208
Registriert: 27. Mai 2006, 16:28
Wohnort: Pulheim

Re: kann java Programm "jperf-2.0.0.jar" nicht starten

Beitrag von Wizzzard »

OpenSuxiser hat geschrieben: wie kommst Du darauf das ich nicht weis wie man Pfade angibt? Habe ich doch alles hingeschrieben und ich weis das die Pfadangabe stimmt.
Wenn der stimmen würde, dann träte die ClassNotFoundException nicht auf.

EOT.
openSUSE Leap 15.1
Asrock 970 Extreme3 R2.0, AMD FX 8320E 3200 MHz, 16 GiB DDR3 1600, NVidia GTX 1050ti
Wizzzard
Member
Member
Beiträge: 208
Registriert: 27. Mai 2006, 16:28
Wohnort: Pulheim

Re: kann java Programm "jperf-2.0.0.jar" nicht starten

Beitrag von Wizzzard »

Damit gehts!

Code: Alles auswählen

#!/bin/sh

JPERF_HOME="${HOME}/programme/jperf"

CP="$JPERF_HOME/jperf2.0.0.jar"
CP="$CP:$JPERF_HOME/lib/forms-1.1.0.jar"
CP="$CP:$JPERF_HOME/lib/jcommon-1.0.10.jar"
CP="$CP:$JPERF_HOME/lib/jfreechart-1.0.6.jar"
CP="$CP:$JPERF_HOME/lib/swingx-2008_02_03.jar"

exec java -classpath $CP net.nlanr.jperf.JPerf
Abspeichern in einem Verzeichnis das sich im Pfad befindet, z. B. als jperf.sh

Die Umgebungsvariable JPERF_HOME anpassen.

chmod 755 jperf.sh

Jetzt ist das von überall aufrufbar.

Bild
openSUSE Leap 15.1
Asrock 970 Extreme3 R2.0, AMD FX 8320E 3200 MHz, 16 GiB DDR3 1600, NVidia GTX 1050ti
OpenSuxiser
Newbie
Newbie
Beiträge: 12
Registriert: 5. Sep 2008, 15:53

Re: kann java Programm "jperf-2.0.0.jar" nicht starten

Beitrag von OpenSuxiser »

Hallo,

ich nochmal. Ich werde es testen sobald ich wieder dafür Zeit habe.
Erstmal investiere ich viel Zeit für die tausenden Samba Einstellungen.
Ich möchte "nur" eine höhere aktzeptable Datenrate die auch stabil ist.
Das hat für mich erstmal oberste Prio. Zur Zeit ist dafür eine andere Distribution installiert.

Ich danke Dir erstmal an dieser Stelle für Deine Hilfe. Alles andere wird sich dann zeigen.

Danke!
Tschau
OpenSuxiser


AMD X2 4850e | GA-MA78GM-S2H | 4GB | WD5000AACS
OpenSuse 11.0 (Kernel 2.6.25.11-0.1-default) & Gnome 2.22.1 (64Bit)
Antworten