myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   Java Programm über die Komandozeileausführen (https://mygully.com/showthread.php?t=2597933)

döner123 28.03.12 14:18

Java Programm über die Komandozeileausführen
 
hallo,

ich möchte eig nur ein kleines java programm welches zb nur "guten tag" ausgibt mit der konsole ausführen.. es gibt dazu schon tausende andere threads auch in anderen foren aber bei mir geht es leider nicht egal was ich eingebe.. ^.-
hat jemand eine ahnung wie ich das zum laufen bekomme?

java -cp "C\.....".

und hinter dem punkt name der class datei..

java -cp "C:\Users\tag\workspace\dermisstgehtnicht\bin\hall o\".gehtimmernochnicht

so oder so änlich würde ich es nun machen.. es geht jedoch leider nicht

slahn 29.03.12 00:19

Wie man über ein Kommandozeilenprogramm etwas herausfindet, wenn man nicht weiß wie man es verwendet, oder was die Parameter bedeuten (bsp.: java -cp):

[Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]

Zitat:

-cp classpath
Specifies a list of directories, JAR archives, and ZIP archives to search for class files. Class path entries are separated by colons ( : ). Specifying -classpath or -cp overrides any setting of the CLASSPATH environment variable.

If -classpath and -cp are not used and CLASSPATH is not set, the user class path consists of the current directory (.).


döner123 29.03.12 08:53

hallo Moritzt

ich habe es vorher schon mal mit deienr methode versucht aber es klappt leider auch nicht :mad:
"Fehler: Hauptklasse schraubenschl³ssel konnte nicht gefunden oder geladen werden"

mein programm sieht nu so aus:

package hallo;

public class gehtimmernochnicht {

public static void main(String[] args) {
System.out.println("Hallo Welt");
int a,b,c,d;
a = 10;
b = 20;
c = 30;
d = a + c - b;
System.out.println("a+c-b=" + d);

int e = 40;
while (e < 100)
{
System.out.println(e);
e = e +1;
}

/* for (int e=1; e < 100;)
{
System.out.println(e);
e = e + 1;
}
*/
}

}


oben wird bischen text ausgegeben "hallo welt" darunter nen paar var's und darunter noch ne schleife ^^

tippel mal nur java bei dir in die konsole ein da stehen dann die ganzen parameter.

ich habe gestern nochmal jemanden gefragt ob er mir das mti dem ausführen nciht nocheinmal zeigen könnte. bei ihm hat alles geklappt.. heute will ich es nochmal probieren und bau alles ganz genau nach... was ist?! die sc... geht immer noch nicht..

döner123 29.03.12 13:05

hmm ich habe nun mal meinen ganzen "javaprojekte" gelöscht und des von dem wir hier sprechen neu gemacht (copy and paste ;) )

so und damit keine missverständnisse auftreten sach ich nun nochmal wie ich es nun nach deiner anlietung hier gemacht habe :)

also ich habe mit eclipse den kram gemacht und schick abgespeichert.
nun habe ich einmal die datei unkompiliert als *.java vorliegen und kompiliert als *.class
dann habe ich die class datei einfach mal auf C: kopiert und dann so ausgeführt wie du es beschrieben hast:
(ich hab es mit beiden versucht ;) da du ja sagtest ich müsse die *.java datei ausführen)

c:\>java Schraubenschlüssel
hier bei bekomme ich genau so wie du einen NoClassDefFoundError.
(ich habe diesmal auch das package auskommentiert ;) jedoch die *.class datei zum ausführen verwendet)


das komische ist nur das ich genau das gleiche programm ehute morgen versucht hab zu starten wie er gestern ^^ das heißt wohl, dass ich dazu zu blöd bin :D

aso und der schraubenschlüssel komtm daher das ich mir nen, um das hier zuzeigen nen neues projekt angelegt hab was auch anders heißt und so hab ich die fehlermeldung von dem ursprünglichen projekt gepostet ^^
hatte das ganze bobderbaumeister -> werkzeugkasten -> Schraubenschlüssel genannt :D

slahn 29.03.12 23:34

Also, so kann man java via Konsole kompilieren und ausführen:

Bsp. Code:
Code:

public class HelloWorld
{
  public static void main(String[] args)
  {
    System.out.println("Hello, World!");
  }
}

^ Das da oben Speicherst du ein einem File mit dem Namen "HelloWorld.java" ! (Sourcefilename und Klassenname (der Teil nach "class" im Code) muss immer gleich sein und mit ".java" abgeschlossen werden)

Jetzt musst du in das Verzeichnis wechseln, in dem das File liegt (Wenn es z.B. in "C:\Mein_Programm\testordner" liegt, gibst du einfach "cd c:\Mein_Programm\testordner" ein).

Wir kompilieren mit "javac HelloWorld.java" (Bitte das "c" hinter java nicht vergessen!).

Jetzt hast du eine neue Datei namens HelloWorld.class .

Die kannst du mit "java HelloWorld" (diesmal ohne das "c" und auch ohne ".class") ausführen (natürlich musst du dazu auch im richtigen Verzeichnis sein; kannst du leicht mit "dir" testen, wenn du HelloWord.class sehen kannst, bist du richtig).

([Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...] jedoch auf Englisch ;) )

Zitat:

Zitat von Moritzt (Beitrag 23398634)
Joa, die MANs kenn ich schon. Ich war nur zu faul das aus dem Englischem zu übersetzten und hatte gehofft, dass jemand schnell eine deutsche beschreibung anfügen kann :p
Aber jut, dann werde ich in Zukunft erst mal selbst schauen ob meine Englischkünste noch ausreichen sind xD

Da kann ich auch noch helfen:

mit dem cp-Flag (oder auch -classpath) können Ordner angegeben werden, die nach Klassen durchsucht werden sollen. Will man mehrere Ordner angeben, soll man diese mit Doppelpunkten ( : ) trennen. Wenn man -cp verwendet, wird die Umgebungsvariable CLASSPATH überschrieben. Ist nichts von all dem definiert, wird einfach nur das aktuelle Verzeichnis durchsucht.

döner123 30.03.12 09:01

Zitat:

Zitat von Moritzt (Beitrag 23399495)
Kannst du dein Programm eigentlich in Eclipse ausführen?

ja das ist mal was was sogar funktioniert ^^

so ich habe nun einmal dein beispiel genommen slahn und sogut wie alles (bis auf das kompilieren.. Der Befehl "javac" ist entweder falsch geschrieben oder
konnte nicht gefunden werden." :confused: ) so gemacht wie du es beschrieben hast.

da es mit dem kompilieren nicht geklappt hat, habe ich das ganze wieder in eclipse gemacht, da es dort ja gleich komipliert wird und danach über die konsole ausgeführt.

was passiert? es geht :D
ich das gleiche mit meinem programm gemacht geht nun auch.. :dozey:

so das ganze leigt daran das ich nicht beachtet habe ob ich ein package erstelle oder nicht (diesmal ohne). denn sobald ich es mit dem package versuche kommt weider die fehlermeldung:



so und nu hab ich es auch entgültig geschafft mit dem package.. weis zwar nicht was ich nun anders gemacht haben soll als beim letzten mal auf ejden fall geht es jetzt ;)
hier nochmal mein "konsolencode":
Code:

C:\Users\tag\workspace\test4\bin\test5>java -cp C:\Users\tag\workspace\test4\bin test5.Test6

ich danke euch beiden für die hilfe :)


Döner

döner123 30.03.12 09:33

das ist dann wohl so ^^
auf der kiste hier läuft

windows 7 prof. 32 bit

döner123 30.03.12 12:03

ne ahtte es noch nicht :D

und danke nu läuft die kiste ^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:30 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.