# java.lang.NoClassDefFoundError: server_show (wrong name: ser



## Guest (20. Mai 2004)

Hi,

ich habe mit dem JBuilder nen Applet gebastelt. Doch sobald ich es in einen anderen Ordner packe und es in einer HTML Seite aufrufen will bringt mir die Java Console die im Titel geschriebenen Fehler. Mein Applet heist "server_show" und ist in einem gleichnamigen ordner! 

Ich hoffe Ihr könnt mir einen Tip geben wo mein Fehler liegt.


Danke im Voraus


----------



## L-ectron-X (20. Mai 2004)

Wenn das Applet im JBuilder lief...? Sieht auf den ersten Blick wie ein Groß-/Kleinschreibfehler aus.
Klassen sollten einen großen Anfangsbuchstaben erhalten. Vielleicht hast Du da abweichende Angaben zwischen Klasse und HTML-Datei. Im Zweifelsfall: Poste doch mal den Inhalt der HTML-Datei.


----------



## The_Makis (20. Mai 2004)

hi,

um das problem ein wenig genauer darzustellen:

die HTML Datein heißt: Applet1.html
im gleichen Ordner mit der HTML Datein ist ein unter ordner namens "server_show" in dem das Applet server_show liegt. Und das Applet funktioniert.

Sobald ich aber z.B. ein neues HTML Document erstelle das an einem anderen Platz als das original HTML Document(das was JBuilder erstellt wurde) erstelle und damit das Applet aufrufen will, bringt es die fehlermeldung.


----------



## L-ectron-X (20. Mai 2004)

OK! Stimmt denn der Pfad/CodeBase im HTML-File für das Applet?
Sorry, ohne HTML-Inhalt brauchen wir länger, um das Problem zu lösen.


----------



## The_Makis (20. Mai 2004)

so nun der HTML Code


```
<html>
<head>
<title>
HTML-Testseite
</title>
</head>
<body>
server_show.Applet1 erscheint in einem Java-fähigen Browser.

<applet
  codebase = ""
  code     = "server_show.class"
  name     = "TestApplet"
  width    = "200"
  height   = "40"
  hspace   = "0"
  vspace   = "0"
  align    = "middle"
>
<param name = "ip" value = "hallo">
<param name = "port" value = "">
<param name = "online" value = "">
<param name = "offline" value = "">
<param name = "pass" value = "">
<param name = "text" value = "">
</applet>
</body>
</html>
```


----------



## Roar (20. Mai 2004)

The_Makis hat gesagt.:
			
		

> codebase = ""
> code     = "server_show.class"



dass du den pfad auch anpassen musst wenn die datei nicht im gleichen ordner ist, ist dir klar?


----------



## L-ectron-X (20. Mai 2004)

Nach dem HTML-Text bzw. nach dem was Du oben geschrieben hast, ist die CodeBase das Problem.

```
<applet code="server_show.class" codebase="server_show" width="200" height="40">
```
Versuche das mal.


----------



## The_Makis (20. Mai 2004)

das ist mir klar!

Ich will ja das es im gleichen order ist!

original sieht es nähmlich so aus:

```
codebase = "."
  code     = "server_show.server_show.class"
```


----------



## L-ectron-X (20. Mai 2004)

Dann lege die HTML-Datei und die class-Datei in ein Verzeichnis und lösche in der HTML-Datei das codebase-Attribut.
Edit: Das wird aber nicht funktionieren, wenn in der server_show.class ein Package server_show deklariert wurde.


----------



## Roar (20. Mai 2004)

moment.. wo is jetz das problem?
du hast ein ordner MeinApplet und dadrin ist eine htmldatei view.html und im gleichen ordner ist die .class datei und es steht die pfad- bzw. packageangabe so wie oben drin geht es nicht? hast du eigentlich deine klasse einem package zugeordnet?


----------



## The_Makis (20. Mai 2004)

@L-ectron-X

Leider bringt er weiterhin den Fehler:
java.lang.NoClassDefFoundError: server_show (wrong name: server_show/server_show)


----------



## The_Makis (20. Mai 2004)

@Roar

Ich habe das applet mit dem JBuilder erstellt und der hat das applet in ein unterverzeichniss gepackt. Und wenn ich die HTML Datei anpasse und in den gleichen Ordner pache wie die .class datei dann bringt mir die Jave console die beschriebene Fehlermeldung.


----------



## L-ectron-X (20. Mai 2004)

Das beantwortet Roar's Frage aber nicht.
Hast Du ein Package namens server_show in der class-Datei deklariert?


----------



## Roar (20. Mai 2004)

wie L-ectron-X bereits gefragt hatte: hast du in der klasse ein package deklariert?


----------



## The_Makis (20. Mai 2004)

Die datei beginnt mit:


```
package server_show;
```

Ich denke das ist was Ihr meint! Ich bin halt Anfänger und hab seit 2 Jahren nix in Java was gemacht!


----------



## L-ectron-X (20. Mai 2004)

Wenn Du willst, dass beide Dateien (class-File und HTML-File) in einem Verzeichnis liegen, musst Du diese Zeile löschen und neu kompilieren und im HTML-File den Eintrag für die codebase löschen. Dann geht's.


----------



## The_Makis (20. Mai 2004)

Wenn ich die Zeile lösche läst es sich mit dem JBuilder nicht merh compilieren.

Er bringt er folgende Fehlermeldung:

```
"server_show.java": Fehler #: 901 : Package . in Quelle C:\Dokumente und Einstellungen\The_Makis\jbproject\server_show\src\server_show\server_show.java stimmt nicht mit Verzeichnis . überein
```


----------



## L-ectron-X (20. Mai 2004)

Leider kenne ich mich nicht mit JBuilder aus, aber ich vermute, dass Du nun auch die Quelldatei ein Verzeichnis höher schieben musst. Ansonsten kompilierst Du einfach mal auf der Konsole.


----------



## Roar (20. Mai 2004)

dann musst du natürlich auch die sourcedatei aus dem package (filesystem) entfernen bzw. in das root verzeichnis deiner packagestruktur verschieben.

bzw: wie wärs mal mit ner IDE? nagut oder wenigstens nem anständigen compiler der richtige fehlermeldungen auspspuckt...


----------



## The_Makis (20. Mai 2004)

Ich bin euch echt dankbar! Es hat funktioniert und das Applet läuft nun! 

Wie gesagt: DANKE


----------

