Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

[erledigt] Java/Eclipse: Exportierte Jar-Datei lässt sich in der Kommandozeile nicht ausführen
ANSI_code
myCSharp.de - Member

Avatar #avatar-2839.jpg


Dabei seit:
Beiträge: 467
Herkunft: Bayern

Themenstarter:

[erledigt] Java/Eclipse: Exportierte Jar-Datei lässt sich in der Kommandozeile nicht ausführen

beantworten | zitieren | melden

Hallo zusammen,
Ich habe in der Schule den Auftrag bekommen ein Programm zu erstellen (mit ein paar Leuten zusammen, die keine Ahnung haben und mir nicht helfen können), das Fußballvereine und Spiele in Tabellen darstellt. Leider muss ich es in Java machen, mit GUI wobei ich noch nicht genau weiß welche Bibliotheken ich nehmen soll.
Obwohl ich noch nie wirklich in Java programiert habe, war ich relativ zuversichtlich. Ich habe mir die Klassen als Diagramme hingemalt, und bin mit der Planung schon fertig, das einzige was ich noch tun muss, ist das ganze in Java umzusetzten.

Da kommt auch das erste Problem: Ich hab mir Eclipse geholt (richtige Entscheidung?), und bin an Hello World gescheitert! Das Ding läuft, aber nur im Console von Eclilpse. Wenn ich eine .jar Datei haben will (das sind doch die "ausführbaren"?) und auf Exportieren gehe, bekomme ich eine .jar Datei, bei deren aufsführung absolut nichts passiert. Ich habe das bisher nicht ändern können. Kann mir jemand sagen, woran das liegen könnte? "Export/Runable jar File/ Configuration(was ist das), package required libraries into jar", ich bekomme eine Datei, und die macht absolut nichts.
Ich have im Internet gesucht nach Lösungen und ca. 4 verschiedene Java runtimes installiert, aber es hilft nichts.
Desweiteren bin ich daran gescheitert eine Entsprechung zu List<T> in C# zu finden.
Es soll eine Collection sein, die Methoden der T-Klasse erlaubt das Ordnen vorzunehmen.
Vielen Dank im Voraus für eure Hilfe.
private Nachricht | Beiträge des Benutzers
Coder007
myCSharp.de - Member



Dabei seit:
Beiträge: 1.214

beantworten | zitieren | melden

Das ist jetzt zwar Java, aber das fällt für mich genauso in die Kategorie Grundlagen, wie wenn das jetzt eine Frage zu C# wäre. Wenn du keine Ahnung hast, bring dir Grundlagen bei. Ich sehe ganz ehrlich keinen Sinn, warum dir hier jetzt jemand vorkauen sollte, was eine Jar Datei ist und welche Klasse man in Java für Listen benutzt.
private Nachricht | Beiträge des Benutzers
ANSI_code
myCSharp.de - Member

Avatar #avatar-2839.jpg


Dabei seit:
Beiträge: 467
Herkunft: Bayern

Themenstarter:

beantworten | zitieren | melden

Vielen Dank für deine Antwort,
in der Tat weiß ich was eine Jar Datei ist und die Klasse für Listen habe ich gefunden.

Jetzt geht es nur noch um das SDK. Ich wäre auch sehr dankbar falls mir jemand ein Tutorial zu Eclipse empfehlen könnte, oder wenn jemand weiß, was ich beim Exportieren der Applikation falsch mache.
private Nachricht | Beiträge des Benutzers
Coder007
myCSharp.de - Member



Dabei seit:
Beiträge: 1.214

beantworten | zitieren | melden

Es gehört schon ein bisschen was dazu... Ganz so einfach ist das alles nicht. Da reicht kein Eclipse Tutorial und Eclipse reicht da nicht.

Was passiert denn, wenn du die Jar ausführst? Starte sie von der Kommandozeile aus und schau, was für ein Fehler kommt.
private Nachricht | Beiträge des Benutzers
ANSI_code
myCSharp.de - Member

Avatar #avatar-2839.jpg


Dabei seit:
Beiträge: 467
Herkunft: Bayern

Themenstarter:

beantworten | zitieren | melden

Beim direkten "Ausführen" der Datei passiert nichts.
Mit dem cmd "java [Dateipfad]" liefert die Fehlermeldung "Fehler: Hauptklasse [Pfad] konnte nicht gefunden oder geladen werden"
Die Datei und die Hauptklasse haben identische Namen (hab irgendwo gelesen, dass das ne Rolle spielen soll)
Ich glaube, das hilft mir schon sehr weiter. Ich suche mal nach Tips zu der Fehlermeldung.
Danke für die Hilfe.
Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von ANSI_code am .
private Nachricht | Beiträge des Benutzers
Coder007
myCSharp.de - Member



Dabei seit:
Beiträge: 1.214

beantworten | zitieren | melden

Jar Dateien startet man normal mit java -jar

Hast du beim Export die Hauptklasse angegeben?
private Nachricht | Beiträge des Benutzers
ANSI_code
myCSharp.de - Member

Avatar #avatar-2839.jpg


Dabei seit:
Beiträge: 467
Herkunft: Bayern

Themenstarter:

beantworten | zitieren | melden

Oh, das ist jetzt peinlich. Tut mir Leid. Hab ich übersehen
Wenn ich das mache, funktioniert das Programm beim Aufruf aus der Komandozeile.
Ich bin allerdings nicht sicher, wie man die Hauptklasse angibt (ich nehme an das ist die launch configuration, in dem Fall hab ich sie wohl richtig angegeben)

Muss ich, wenn ich will, dass der Rechner jar Dateien per Click ausführt den Befehl zum öffnen des Dateityps direkt ändern? Ich hatte angenommen, das wurde das bei der Instalation von der Runtime vorgenommen.
private Nachricht | Beiträge des Benutzers
Coder007
myCSharp.de - Member



Dabei seit:
Beiträge: 1.214

beantworten | zitieren | melden

Man kann eine Hauptklasse angeben, wenn man ein Manifest erstellt. Ich hab schon länger kein Eclipse mehr benutzt, Netbeans gefällt mir in den letzten Jahren besser. Hier ist was beschrieben, bin mir nicht 100% sicher, obs aktuell ist:

Java File Exporter


Ich denke schon, dass bei der Installation unter Windows die .jar Zuordnung richtig gemacht werden sollte. Aber man kann sich da natürlich nie sicher sein. Kannst ja einfach in der Registry schauen bzw. anpassen, unter HKCR/jarfile/shell/open/command
private Nachricht | Beiträge des Benutzers
ANSI_code
myCSharp.de - Member

Avatar #avatar-2839.jpg


Dabei seit:
Beiträge: 467
Herkunft: Bayern

Themenstarter:

beantworten | zitieren | melden

Der Innhalt des Eintrags sieht eigentlich ganz gut aus:
"C:\Program Files\Java\jre7\bin\javaw.exe" -jar "%1" %*

Oder machen die % Dinger was kaputt? Kann ich mir eigentlich nicht vorstellen, schließlich wurde der Schlüssel von der Instalation geschireben.
Kann es sein, dass unter Windows 7 irgendwelche Zugriffsrechte ein Problem sind?
Immerhin habe ich das Ausführproblem gelöst, das heißt ich kann jetzt mein Programm machen. Der Rest ist nur noch Bequemlichkeit. Vielen Dank für die schnelle Hilfe :)
private Nachricht | Beiträge des Benutzers
Akatosh
myCSharp.de - Member



Dabei seit:
Beiträge: 10
Herkunft: Niedersachsen

beantworten | zitieren | melden

So schon länger nichts geschrieben ^^

Der Eintrag ist richtig.

Das Problem ist nur, dass im Gegensatz zu regulären Komandozeilenprogrammen keine Console geöffnet wird (Eclipse "emuliert" eine Kommandozeile).

Von daher must du selber erstmal eine CMD öffnen und dann die jar Datei mit java -jar JARFILE.jar starten.
Es kann sein, dass du, wenn du die Jar-Datei über die CMD öffnen willst eine Fehlermeldung kommt, dass java nicht gefunden wurde, in dem fall must du java in deine Path Variable eintragen (Pfad zum java/bin Ordner)

[EDIT]
Übrigens die Eclipse jar Dateien sind meistens ohne Probleme nutztbar, solang man
keine Dlls oder fremde libs nutzt. Im falle von fremden libs empfehle ich die class
Dateien direkt in die eigene Jardatei einzufügen
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Akatosh am .
private Nachricht | Beiträge des Benutzers
Coder007
myCSharp.de - Member



Dabei seit:
Beiträge: 1.214

beantworten | zitieren | melden

Ich bin mir ehrlich gesagt nicht mal sicher, obs einen Fehler gibt. Ich denke eher, es funktioniert alles, nur wird die Konsole gleich wieder geschlossen, nachdem die Ausgabe erfolgt ist. Bau noch was ein, damit das Programm auf einen Tastendruck wartet, bevor es sich beendet.
private Nachricht | Beiträge des Benutzers
ANSI_code
myCSharp.de - Member

Avatar #avatar-2839.jpg


Dabei seit:
Beiträge: 467
Herkunft: Bayern

Themenstarter:

beantworten | zitieren | melden

Die Konsole wird nicht geöffnet. Aber das ist jetzt auch nicht mehr wichtig, ich werde ja nicht einmal Konsolenprogramme schreiben müssen. Wollte nur schauen, ob ich alles kompiliert und archiviert kriege.
Vielen Dank für eure Hilfe!
(ist es immernoch üblich ein [gelöst] in den Titel einzufügen?)

Moderationshinweis von herbivore (03.07.2012 - 01:41)

Das liegt (immer noch :-) in deinem Ermessen. Wobei aus meiner Sicht "[erledigt]" vorzuziehen ist, denn was für den einen eine Lösung ist, ist für den anderen nur ein vager Hinweis oder sogar ein Rätsel. "[gelöst]" kann man verwenden, wenn am Ende des Threads explizit eine fertige und funktionierende Lösung steht.

private Nachricht | Beiträge des Benutzers