Erste Schritte Ausführen mit cmd + Classpath

  • Themenstarter Themenstarter vogte89
  • Beginndatum Beginndatum
V

vogte89

Gast
Hallo liebe Forummitglieder,

ich bin gerade dabei mich auf eine Informatikklausur vorzubereiten.
Dabei gibt es bei mir ein Problem:

Ich kann Programm in der Kommandozeile cmd compiliern, will ich ein Programm jedoch ausführen,
passiert das nicht. Stattdessen öffnet sich der Quelltext im notepad ++

Während des Semesters hat das alles problemlos funktioniert.

Also hab ich java deinstalliert, neu gezogen, neu installiert und gehofft,
es würd nun klappen.
Außerdem habe ich den Classpath neu gesetzt:
Ich hoffe nach der richtigen Vorgehensweise?
Ist es korrekt
a) die Benutzervariable "CLASSPATH" zu setzen und dabei
lediglich den Pfad der Bibliothek anzugeben

und b)die Systemvariable ebenfalls neu zu setzen bzw zu ändern
und dabei lediglich den Pfad des Verzeichnisses anzugeben, welches
javac enthält?
Im Skript wird hinter den ursprünglichen Pfad ein Semikolon gesetzt
und anschließend der neue Pfad angefügt , anschließend folgt wiederum
ein Semikolon und dann ein Punkt (;.)

Kann mich ein Experte aufklären?

Wäre wunderbar, sonst komm ich nicht weiter bzw. weiß nicht,
ob die Programme so laufen, wie sie sollen.

Vielen Dank im Voraus!
 
Ich kann Programm in der Kommandozeile cmd compiliern, will ich ein Programm jedoch ausführen,
passiert das nicht. Stattdessen öffnet sich der Quelltext im notepad ++
Das hört sich eher nach einem fehlerhaften Aufruf an.
Wie startest Du denn das Programm über Kommandozeile?
 
Hi Michael,

Ich arbeite mich mit cd desktop etc. zum Verzeichnis vor, dann javac Programmname.java
keine Fehler!
danach der gleiche Pfad mit Programmnamen.java

Und zum Classpath? Passt das so?
 
Da ist in den Semesterferien wohl etwas verloren gegangen ;-)
Kompilieren:
Code:
javac Programm.java
Ausführen:
Code:
java Programm
ohne Dateiendung
 
Hallo Michael,


da kann ich Dir nicht widersprechen 🙂
Funzt! Danke.

Und nun noch eine andere Frage:

Egal welches Programm ich schreibe, muss ich die Bibliothek zu Beginn
des Quelltextes immer importieren?

import IOulm.*; in meinem Falle.

Andy
 
Er scheint hier zum einen ein Problem mit dem import der Bibliothek zu haben?
Woran liegt das?
Und b? Was passt dem compiler bei den "Urc"'s nicht??

Wollte den cmd reinkopiern, funzt allerdings nicht:

Hier da Programm

import IOulm.*;

public class Aufgabe2{
public static void main(String[] args) {
double betrag = 0, zinssatz = 0, zinsenJahr = 0, zinsenGesamt = 0;
int laufzeit = 0, jahr = 0;

System.out.print("Bitte geben Sie einen Anlagebetrag ein: ");
if (Urc.readDouble()) {
betrag = Urc.getDouble();
} else {
System.exit(1);
}
if (betrag <= 0) {
System.out.println("Anlagebetrag muss groesser 0 sein.");
System.exit(2);
}

System.out.print("Bitte geben Sie einen Zinssatz ein: ");
if (Urc.readDouble()) {
zinssatz = Urc.getDouble();
} else {
System.exit(3);
}
if ((zinssatz <= 0) || (zinssatz > 100)) {
System.out.println("Zinssatz muss zwischen 0 und 100 sein.");
System.exit(4);
}

System.out.print("Bitte geben Sie eine Laufzeit ein: ");
if (Urc.readInt()) {
laufzeit = Urc.getInt();
} else {
System.exit(5);
}
if (laufzeit <= 0) {
System.out.println("Laufzeit muss groesser als 0 sein.");
System.exit(6);
}

jahr = 1;
while (jahr <= laufzeit) {
zinsenJahr = betrag * zinssatz/100;
System.out.println("Jahr " + jahr + ": Anlagebetrag: " + betrag
+ " Zinsen: " + zinsenJahr
+ " Auszahlungsbetrag: " + zinsenJahr);
zinsenGesamt = zinsenGesamt + zinsenJahr;
jahr = jahr + 1;
}
System.out.println("Zinseinnahmen: " + zinsenGesamt);
}
}

Er sagt, "package IOulm doesn't exist"

des weiteren sagt er zum "urc" cannot find symbol

Danke!!
 
Urc ist vermutlich eine Klasse aus dem Package. IOulm (IOulm.Urc)

Um das Package IOulm importieren zu können, muss es über den CLASSPATH gefunden werden. Wenn es z.B. als jar vorliegt muss diesen im CLASSPATH gelistet werden.
 
Entweder Du setzt die Umgebungsvariable CLASSPATH fest über Dein Betriebssystem
Oder Du setzt sie in der Konsole vorab per Set CLASSPATH=C:\bla\meinKlassenverzeichnis;C:\blub\hilfsPaket.jar
Oder Du übergibst die Verzeichnisse, jars direkt beim Komplieren und Ausführen. Mittels der Option
Code:
-cp

Code:
javac -cp C:\blub\hilfsPaket.jar Programm.java

Code:
java -cp C:\blub\hilfsPaket.jar Programm
 
Hi Michael,

versteh ich, aber ich hab keine Ahnung, was mein Klassenverzeichnis ist bzw. was ich vor
dem Strichpunkt für n Verzeichnis wählen muss.

Bzw anders gefragt? Wie bekomm ich mein Klassenverzeichnis raus?
Muss sich ja davon unterscheiden, wo ich meine Bib (IOulm.jar) gespeichert habe
nimm ich an?
 
mein aktueller Classpath hat folgenden Wert
C:\Users\vogte89\lib;.

Der Wert der Systmevariablen Path lautet

C:\Program Files\Java\jdk1.7.0_07\bin


Kannst mir da konrekt sagen inwieweit ich das abändern, löschen oder neu gestalten muss?


Das wär klasse und dann hamm wirs für erste auch mal...
 

Neue Themen


Zurück
Oben