Hi,
die Path-Variable hat mit Java Klassen eigentlich erstmal nichts zu tun.
Sie enthält nur Pfade von Verzeichnissen, wo das Betriebssystem nach ausführbaren Programmen sucht.
Deshalb steht JAVA_HOME\bin auch im Path. Und deshalb findet das Betriebssystem auch javac.exe, wenn du javac MyClass.java in das cmd-Fenster eingibst.
Der Classpath ist hingegen spezifisch Java. Ich würde ihn nur nicht global setzen. Es gibt bessere Möglichkeiten. Später mehr dazu.
Java sucht nach den Klassen in den im Classpath eingetragenen .jar und .class.
Unten sagst du, dass xy.class nicht gefunden wird. Die steht nicht im Classpath.
Du solltest im Classpath immer ein . eintragen. Dann sucht Java auch im gegenwärtigen Verzeichnis.
Du bist im cmd in C:\tomcat\webapps\axis\kapitel4
Wenn der Punkt im Classpath ist, wird xy.class automatisch gefunden (wegen dem Punkt = gegenwärtiges Verzeichnis).
Du kannst das im globalen Classpath eintragen, indem du einfach ein
;.
ans Ende des jetzigen wertes setzt.
Lokal lässt sich das wie folgt setzen:
set Classpath=%Classpath%;.
(wobei %Classpath% heisst: übernehme den jetzigen Classpath)
Die imho bessere Lösung besteht darin, den Classpath nicht in die globale Umgebungsvariable zu friemeln, sondern pro Entwicklungs-Projekt ein eigenes batch-file zu schreiben (beim deployen einer Anwendung an Anwender gehst du sowieso ganz anders vor).
Falls du die Umgebungsvariable AXIS_HOME gesetzt hast, kannst du einfach
1. die Endung dss angehängte txt files in .bat ändern (atnotes akzeptiert keine .bat attachments)
2. das bat file in JAVA_HOME\bin (da wo javac.exe ist) legen (dann kannst du es von überall aufrufen, weil es ja im PATH des OS ist).
und dann bei jeder neuen Sitzung:
1. Öffne das cmd Fenster.
Schreibe axisEnv
Return Taste (es müsste jetzt eine Ausgabe des neuen Classpath erscheinen).
Danach kannst du zu xy.java navigieren und diese kompilieren und aufrufen.
Noch besser ist das ganze in Eclipse zu schreiben. Das Äquivalent zum Classpath ist der Javabuildpath des Projektes. Die entsprechende GUI zum setzen erhälst du, indem du die rechte Maustaste auf das Projekt klickst und dann Properties (ganz unten im Kontextmenü klickst). Es erscheint ein Dialogfenster. Wähle Java-Build-Path und dort Libraries. Sofern du nicht mit team Entwicklung mit concurrent version system machst, kannst du gefahrlos über Add External Library die entsprechenden .jars in den Classpath des Projekts setzen.
Mehr Info (ausser "meinem" Punkt-Trick) gibt es hier:
http://www-106.ibm.com/developerworks/db2/library/techarticle/dm-0408anderson2/Gruß Axel
Classpath kann ein sehr nerviges Thema sein, deshalb ist es gut sich ein bischen auszukennen.
Praktisch jeder hatte damit mal ein Problem
Es gibt dort auch advanced Bereiche, die uns manchmal in den Wahnsinn treiben.
Bei vielen Java Produkten (übrigens auch Tomcat und Notes) hast du einen hierarchischen mehrstufigen Classloader.
Bei Websphere kannst du die Hierarchie quasi beliebig umdrehen.
Es gibt auch Produkte (wie z.B. Jira) wo es einen dynamischen Classloader gibt. Aber das führt erstmal zu weit.