WinFuture-Forum.de: Java Fehler - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
  • 2 Seiten +
  • 1
  • 2

Java Fehler could not find main class...


#1 Mitglied ist offline   XDestroy 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.911
  • Beigetreten: 08. August 02
  • Reputation: 0

geschrieben 23. Dezember 2006 - 05:10

hallo zusammen.

ich habe einen lrelative simplen quelltext hier (hallo welt) der unter eclipse wunderbar läuft
(run->run as...).
will ich dagegen es von der comand-box ausrufen mit "java test" krieg ich folgende fehlermeldung:

Exception in thread "main" java.lang.NoClassDefFoundError: test


hat jemand eine ahnung wie ich da raus komme? habe schon wie ein verrückter gegooglelt und es gibt auch oft welche mit dem fehler, aber alles schon übelst kompliziert und ich komm damit kaum klar. ich möcht eigentlich nur mein doofes projekt auch ausserhalb eclipse zum laufen kriegen^^ =)


danke!!

gruß
xdestroy
0

Anzeige



#2 Mitglied ist offline   Rika 

  • Gruppe: aktive Mitglieder
  • Beiträge: 11.533
  • Beigetreten: 11. Juni 03
  • Reputation: 2
  • Geschlecht:Männlich

geschrieben 23. Dezember 2006 - 10:16

Classpath...
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Eingefügtes Bild
Ja, mata ne!

(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
0

#3 Mitglied ist offline   nimos 

  • Gruppe: Mitglieder
  • Beiträge: 3
  • Beigetreten: 01. Dezember 06
  • Reputation: 0

geschrieben 23. Dezember 2006 - 12:09

probiers mal damit: "java -cp . test"
0

#4 Mitglied ist offline   Witi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.947
  • Beigetreten: 13. Dezember 04
  • Reputation: 43
  • Geschlecht:Männlich
  • Wohnort:Kingsvillage
  • Interessen:Frickeln

geschrieben 23. Dezember 2006 - 12:40

Zitat

probiers mal damit: "java -cp . test"

. ist standardmäßig im Classpath.

Ich tippe mal drauf, dass deine Klasse _nicht_ test heißt. Abgesehen davon, werden Klassennamen groß geschrieben.
0

#5 Mitglied ist offline   XDestroy 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.911
  • Beigetreten: 08. August 02
  • Reputation: 0

geschrieben 23. Dezember 2006 - 13:06

hab ich alles schon ausprobiert. meine klasse heißt test und die datei heißt auch test. habe alles test genannt. diese sache mit den classpaths hab ich auch nicht so richtig verstanden. beim googlen hab ich irgendwo gelesen das eclipse die sogar gar nicht verwendet.
ich versteh das alles nich. wie kann das sein das ein programm in der entwicklungsumgebung wunderbar läuft und draußen dann wieder nicht. das ist doch komisch.
0

#6 Mitglied ist offline   Rika 

  • Gruppe: aktive Mitglieder
  • Beiträge: 11.533
  • Beigetreten: 11. Juni 03
  • Reputation: 2
  • Geschlecht:Männlich

geschrieben 23. Dezember 2006 - 14:14

Zitat

und die datei heißt auch test

Du meinst hoffentlich "test.class"?

Zitat

diese sache mit den classpaths hab ich auch nicht so richtig verstanden.

Solltest du aber. Ohne Classpath kein korrektes Laden von Klassen, und ohne das läuft dein Programm nicht.

Zitat

beim googlen hab ich irgendwo gelesen das eclipse die sogar gar nicht verwendet.

Doch, tut es. Selbstverständlicherweise. Nur setzt es den auch entsprechend.

Und mir kommt gerade eine ganz ganz schlimme Befürchtung: Versuchst du etwas, aus einem anderen Ordner als dem, wo sich die Klasse "test" befindet, ebenjene aufrufen?


Zitat

Abgesehen davon, werden Klassennamen groß geschrieben.

Das ist nur eine Konvention im Sinne einer Empfehlung, keine Notwendigkeit.


Aber wozu eigentlich die Frickelei? Eclipse kann wunderbar in JAR-Archive verpacken, inklusive Manifest. Und auch manuell ist das kein Problem. Dann klappt's auch mit dem Classpath.
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Eingefügtes Bild
Ja, mata ne!

(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
0

#7 Mitglied ist offline   XDestroy 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.911
  • Beigetreten: 08. August 02
  • Reputation: 0

geschrieben 23. Dezember 2006 - 14:21

hmm. würde das gerne ohne jar hin kriegen. kennt ihr vllt ne page wo das relativ easy erklärt wird?
0

#8 Mitglied ist offline   XDestroy 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.911
  • Beigetreten: 08. August 02
  • Reputation: 0

geschrieben 23. Dezember 2006 - 17:00

ok also ich habe mir das mit den umgebungsvariablen mal durchgelesen und alles angeschaut. das muss eigentlich laufen. kann es vielleicht daran liegen, das ich irgendwo nicht festgelegt habe was die main klasse ist?
0

#9 Mitglied ist offline   Rika 

  • Gruppe: aktive Mitglieder
  • Beiträge: 11.533
  • Beigetreten: 11. Juni 03
  • Reputation: 2
  • Geschlecht:Männlich

geschrieben 23. Dezember 2006 - 17:23

Die Main-Klasse ist genau die Klasse, die du aufrufst. Und die Fehlermeldung sagt, daß es die Klasse nicht findet.

Nochmal: Bist du überhaupt im richtigen Ordner auf dem richtigen Laufwerk? Heißt die Klasse wirklich test.class?
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Eingefügtes Bild
Ja, mata ne!

(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
0

#10 Mitglied ist offline   Witi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.947
  • Beigetreten: 13. Dezember 04
  • Reputation: 43
  • Geschlecht:Männlich
  • Wohnort:Kingsvillage
  • Interessen:Frickeln

geschrieben 23. Dezember 2006 - 17:26

1.
public class Test { public static void Main(String[] args) { System.out.println('foo');}}


2. Das als Test.java speichern
3. javac Test.java (dabei entsteht eine Datei mit dem Namen Test.class]
4. java Test (den Klassennamen, nicht die Classdatei!)
0

#11 Mitglied ist offline   XDestroy 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.911
  • Beigetreten: 08. August 02
  • Reputation: 0

geschrieben 23. Dezember 2006 - 18:04

komisch!
mit javac compiled funktionierts!
0

#12 Mitglied ist offline   Rika 

  • Gruppe: aktive Mitglieder
  • Beiträge: 11.533
  • Beigetreten: 11. Juni 03
  • Reputation: 2
  • Geschlecht:Männlich

geschrieben 23. Dezember 2006 - 19:16

Es wird auch bei Eclipse mit JavaC kompiliert.

Also so langsam glaube ich echt, daß du einfach zu !#{&%x^ warst, mal mit der Kommandozeile in den Ordner, wo sich die Klasse befindet, zu wechseln.
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Eingefügtes Bild
Ja, mata ne!

(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
0

#13 Mitglied ist offline   XDestroy 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.911
  • Beigetreten: 08. August 02
  • Reputation: 0

geschrieben 24. Dezember 2006 - 01:21

doch war ich. warum muss das eigentlich sein?

java ist der größte müll den ich kenne - echt -.-
0

#14 Mitglied ist offline   Witi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.947
  • Beigetreten: 13. Dezember 04
  • Reputation: 43
  • Geschlecht:Männlich
  • Wohnort:Kingsvillage
  • Interessen:Frickeln

geschrieben 24. Dezember 2006 - 02:52

Zitat

java ist der größte müll den ich kenne - echt -.-

Nein garantiert nicht. Da lege ich deine Hand ins Feuer.

Höchstens Eclipse (netbeans, intellij *hust*).

Vielleicht sagst du uns einfach mal _genau_ was du bzw. eclipse gemacht ha(s)t und wir sagen dir was du/ihr falsch hast/habt.
0

#15 Mitglied ist offline   Rika 

  • Gruppe: aktive Mitglieder
  • Beiträge: 11.533
  • Beigetreten: 11. Juni 03
  • Reputation: 2
  • Geschlecht:Männlich

geschrieben 24. Dezember 2006 - 10:12

Zitat

warum muss das eigentlich sein?

Weil Java keine Gedanken lesen kann? Oder anderenfalls alle deine Platten nach allen Dateiene mit dem zutreffenden Kriterium durchsuchen muss? Eine Datenbank für Klassen gibt es zwar, aber die will man ja auch nicht immer mitkopieren und anpassen müssen, wenn man die Klassen auf einen anderen Rechner kopiert.
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Eingefügtes Bild
Ja, mata ne!

(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
0

Thema verteilen:


  • 2 Seiten +
  • 1
  • 2

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0