PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : *.jar Dateien abspielen?


Werbung

JuSt
17-04-2004, 15:14
Gibt es ein Programm, mit dem man *.jar Dateien abspielen kann?

nescio
17-04-2004, 15:19
.jar Dateien sind Archive von Java.
Mit WinRAR kannste die entpacken.
Um ein Programm zu starten, das sich in einen JAR-Archiv befindet, solltest Du "java -jar DATEINAME" entweder in "Befehl ausführen.." oder in einer MS-DOS-Eingabeaufforderung eingeben.
Zur Not einfach mal Java in die Eingabeaufforderung eingeben, da steht, dann, wie man ein JAR ausführt.

Bißchen kompliziert, wenn man sich nicht mit Java auskennt.

Sun erklärt hier (http://java.sun.com/docs/books/tutorial/jar/basics/index.html) auch die Grundlagen. Da steht dann auch der o.g. Befehl: "java -jar app.jar"

nescio
17-04-2004, 15:22
Achso: Wenn in dem Archiv kein Programm, sondern ein Applet ist, dann wird's komplizierter.

JuSt
17-04-2004, 15:44
In der Datei sind 3 Class-Dateien und eine mf-Datei. Was ist das dann?

denti
17-04-2004, 20:22
In der Datei sind 3 Class-Dateien und eine mf-Datei. Was ist das dann?

nix womit du was anfangen könntest. dat sind compilierte javaklassen. es kann allenfalls sein, dass jemand die endungen verändert hat um z.b. zu vertuschen, dass das eigentlich raubkopierte mp3's sind. glaub ich aber nicht.
btw: jar-archive bekommt man auch mit winzip auf, das is der gleiche algorithmus, man muss nur die endung jar durch zip ersetzen.

nescio
17-04-2004, 21:13
Die .class-Dateien sind wirklich kompilierte Java-Klassen, wie mein Vorredner gesagt hat.
Das Manifest (.mf) deutet darauf hin, dass es sich tatsächlich um eine Anwendung handelt. Darin steht, welche die MAIN-Klasse ist, also das Programm startet.
Dann sollte der Aufruf "java -jar [DATEINAME].jar" erfolgreich sein.
Ausprobieren und evtl. Fehlermeldung posten.

JuSt
17-04-2004, 22:40
nix womit du was anfangen könntest. dat sind compilierte javaklassen. es kann allenfalls sein, dass jemand die endungen verändert hat um z.b. zu vertuschen, dass das eigentlich raubkopierte mp3's sind. glaub ich aber nicht.

Dafür wären 13,2 KB auch ein bischen wenig. :D
Nein, hat damit nichts zu tun.
Ich weiß auch, dass es ne Anwendung ist, nur krieg ich`s nicht zum laufen. :(


Die .class-Dateien sind wirklich kompilierte Java-Klassen, wie mein Vorredner gesagt hat.
Das Manifest (.mf) deutet darauf hin, dass es sich tatsächlich um eine Anwendung handelt. Darin steht, welche die MAIN-Klasse ist, also das Programm startet.
Dann sollte der Aufruf "java -jar [DATEINAME].jar" erfolgreich sein.
Ausprobieren und evtl. Fehlermeldung posten.

Fehlermeldung: Failed to load Main-Class manifest attribute from xxx.jar

In dieser MF-Datei steht auch nur

Manifest-Version: 1.0
Created-By: 1.2.2 (Sun Microsystems Inc.)

drin. Sollte da nicht mehr drinstehen?

denti
17-04-2004, 23:14
achso, du weisst, dass das ne anwendung is... na dann...
... brauchst du eigentlich nur noch ne java runtime.

mach ma in ner dosbox den befehl "java -version". vielleicht hast du überhaupt kein passendes java installiert.

die runtime gibts übrigens bei http://java.sun.com. ich hab gezz keine lust nachzugucken, aber wenn du z. b. <die für deine zwecke viel zu grosse> j2sdk-1_4_2_04-windows-i586-p.exe runterlädtst und installierst, dann krissu das zeug anschliessend mit dem vom kollegen genannten befehl auch zum laufen. also eigentlich reichts, wenn du ein "jre" (java runtime environment) > version 1.2.2 installierst. bei der installation muss man allenfalls aufpassen, ob man gezz das plugin für den browser mitinstallieren will <spricht meist nix dagegen> oder nicht, aber ansonsten is das unkritisch.
was ist das eigentlich fürne anwendung?

gruss,
dent

nescio
17-04-2004, 23:15
Oki...
In dem Manifest sollte eine solche Zeile stehen:
"Main-class: Irgendeine von den dreien"

Probier's doch mal mit "java -jar [DATEINAME].jar KLASSENNAME"
Wobei Klassenname das vor dem .class einer der drei Klassen ist. Eigentlich müßte er dann diese als Main-Klasse benutzen. Bin mir dabei aber unsicher und will Dir nicht vorschlagen, das Manifest im JAR zu verändern ;)

denti
17-04-2004, 23:19
Oki...
In dem Manifest sollte eine solche Zeile stehen:
"Main-class: Irgendeine von den dreien"

Probier's doch mal mit "java -jar [DATEINAME].jar KLASSENNAME"
Wobei Klassenname das vor dem .class einer der drei Klassen ist. Eigentlich müßte er dann diese als Main-Klasse benutzen. Bin mir dabei aber unsicher und will Dir nicht vorschlagen, das Manifest im JAR zu verändern ;)

ja, würd ich vielleicht auch einfach ausprobieren <wenn man dem inhalt trauen kann>. das mf-dingens is eh uninteressant. aber ersma gucken, wat dat fürne java-version auf dem rechner is, nich?

nescio
17-04-2004, 23:26
Wir wollen's nicht zu kompliziert machen ;)

nonnobis
17-04-2004, 23:26
Müsste eigentlich
java -cp xyz.jar classname
lauten, wobei der classname ohne .class angegeben wird. Ich hoffe, du kennst die Anwendung, die du starten willst. Wenn sie dir unbekannt ist, dann würde ich die Finger davon lassen.

JuSt
18-04-2004, 00:25
Ich hatte mir schon j2re-1_4_2_04-windows-i586-p.exe downgeloadet. Bei der java -version Abfrage kommt dementsprechend "java version 1.4.2_04 ..."
Das müsste denke ich passen.

Der java -jar Befehl scheint der falsche zu sein bei direkter Angabe der Klasse, denn da bekomme ich immer die gleiche Fehlermeldung wie oben.

Bei dem java -cp Befehl bekomme ich bei einer Klasse die Fehlermeldung
"Exception in thread "main" java.lang.NoSuchMethodError: main"

Bei den anderen beiden "Exception in thread "main" java.lang.NoClassDefFoundError: (Name der Klasse)"

denti
18-04-2004, 00:31
Ich hatte mir schon j2re-1_4_2_04-windows-i586-p.exe downgeloadet. Bei der java -version Abfrage kommt dementsprechend "java version 1.4.2_04 ..."
Das müsste denke ich passen.

Der java -jar Befehl scheint der falsche zu sein bei direkter Angabe der Klasse, denn da bekomme ich immer die gleiche Fehlermeldung wie oben.

Bei dem java -cp Befehl bekomme ich bei einer Klasse die Fehlermeldung
"Exception in thread "main" java.lang.NoSuchMethodError: main"

Bei den anderen beiden "Exception in thread "main" java.lang.NoClassDefFoundError: (Name der Klasse)"

nuja, die fehlermeldungen sagen ja dann, dattat schrott is. kann sein, dass den methoden "main" irgendwelche klassen bzw. jar-archive fehlen. von mir aus kannssu mir das schicken, dann jag ichs durch nen decompiler und guck mal nach wat los is.
aber wat is das denn überhaupt fürn programm?

nonnobis
18-04-2004, 00:42
Bei dem java -cp Befehl bekomme ich bei einer Klasse die Fehlermeldung
"Exception in thread "main" java.lang.NoSuchMethodError: main" Die kannst Du dann schon mal vorerst vergessen. Die ist nicht ausführbar.

Bei den anderen beiden "Exception in thread "main" java.lang.NoClassDefFoundError: (Name der Klasse)"
Die beiden sind ausführbar, nur fehlt eine abhängige Klasse. Diese Dinge sind knifflig zu finden.
Versuch doch mal:

java -v -cp xyz.jar classname

Vielleicht können wir mehr Infos entlocken.

JuSt
18-04-2004, 00:51
Die kannst Du dann schon mal vorerst vergessen. Die ist nicht ausführbar.

Die beiden sind ausführbar, nur fehlt eine abhängige Klasse. Diese Dinge sind knifflig zu finden.
Versuch doch mal:

java -v -cp xyz.jar classname

Vielleicht können wir mehr Infos entlocken.

Da krieg ich die Meldung
"Unrecognized Option -v
Could not create the Java virtual machine."

nonnobis
18-04-2004, 00:55
Da krieg ich die Meldung
"Unrecognized Option -v
Could not create the Java virtual machine."
Mein Fehler. Mach aus -v einfach -verbose. Sorry

JuSt
18-04-2004, 00:56
nuja, die fehlermeldungen sagen ja dann, dattat schrott is. kann sein, dass den methoden "main" irgendwelche klassen bzw. jar-archive fehlen. von mir aus kannssu mir das schicken, dann jag ichs durch nen decompiler und guck mal nach wat los is.
aber wat is das denn überhaupt fürn programm?

Das Programm ist ein Editor zum erstellen von Bahnen in einem online-Minigolfspiel. Hab ich in der Spielesammlung (http://www.ioff.de/showthread.php?p=2684775#post2684775) was dazu geschrieben.
Leider wurde der Editor offline genommen. Ich hab es zwar gespeichert, jedoch funktioniert es nicht richtig.

Da ist die Datei:
http://home.arcor.de/golfliga/MinigolfEditor.jar

Die Seite von der es stammt in Kopie:
http://home.arcor.de/golfliga/rataeditori.htm

JuSt
18-04-2004, 01:03
Mein Fehler. Mach aus -v einfach -verbose. Sorry

Gibt`s dafür auch nen Stop-Befehl? Das sprengt die Grenzen der Eingabeaufforderung. :D

Es wird fast ausnahmslos irgendn Zeug von \jre\lib\rt.jar geladen.

Nur ganz am Schluss in der viertletzten Zeile kommt wieder die Zeile: "Exception in thread "main" java.lang.NoSuchMethodError: main" bzw. die entsprechenden Fehlermeldungen von vorhin bei den beiden anderen Dateien.

nonnobis
18-04-2004, 01:13
Vergiss das erst mal. Das Ganze ist keine Anwendung, sondern ein Java Applet.
Ganz andere Baustelle.

Was du benötigst, ist eine HTML Seite mit dem, angepassten, Tag hier:

<APPLET
codeBase=http://javapelit.saunalahti.fi/minigolf/ height=530
archive=MinigolfEditor.jar width=600 code=MinigolfEditor>
<PARAM NAME="codeBase" VALUE="http://javapelit.saunalahti.fi/minigolf/">
<PARAM NAME="height" VALUE="530">
<PARAM NAME="archive" VALUE="MinigolfEditor.jar">
<PARAM NAME="width" VALUE="600"><PARAM NAME="code" VALUE="MinigolfEditor">
Selaimesi ei tue Javaa tai Java on kytketty pois päältä!<IMG
SRC="http://stat.www.fi/cgi-bin/stat2?serv=koti.saunalahti.fi&page=Minigolf"
WIDTH=1 HEIGHT=1 BORDER=0></APPLET>

Würde ich dir gerne bauen, kann ich aber im Moment nicht, da ich unter Linux noch kein
Java im Firfox eingerichtet habe, Abgesehen davon ist das Applet möglicherweise
auf Microsoft abgestimmt und das kann ich unter Linux gar nicht ausprobieren.
Vielleicht kann denti hier einspringen.

nescio
18-04-2004, 01:20
Du kannst aber auch die "rataeditori.html" in demselben Verzeichnis wie die Minigolfdings.jar speichern. Wenn Du dann die HTML-Seite von der Platte öffnest (in einem Browser deiner Wahl) dann sollte es klappen.

JuSt
18-04-2004, 01:57
Vergiss das erst mal. Das Ganze ist keine Anwendung, sondern ein Java Applet.
Ganz andere Baustelle.

Was du benötigst, ist eine HTML Seite mit dem, angepassten, Tag hier:
...

:schäm: Ich war mir des Unterschiedes nicht bewusst.


Du kannst aber auch die "rataeditori.html" in demselben Verzeichnis wie die Minigolfdings.jar speichern. Wenn Du dann die HTML-Seite von der Platte öffnest (in einem Browser deiner Wahl) dann sollte es klappen.

Leider nicht.
Das Applet wird ja geladen. Nur funtkioniert es einfach nicht richtig.

Irgendwie hab ich mir das alles viel einfacher vorgestellt. Ist ja ne richtige Wissenschaft, fast wie die Rechtswissenschaft. :D

nonnobis
18-04-2004, 02:51
So. hab Java jetzt richtig installiert.
Nehmen wir an, wir sind im Verzeichniss XYZ
Die HTML Seite z.B. XYZ/minigolf.html muss so aussehen:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Minigolf - Rataeditori</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="author" value="Jippii Group Oyj">
<meta content="MSHTML 6.00.2715.400" name="GENERATOR"></head>

<body text="#000000" vlink="#004400" alink="#000000" link="#009900" bgcolor="#ccffcc">
<center><br>
<h2>Minigolf - Rataeditori</h2><applet height="530" archive="MinigolfEditor.jar" width="600" code="MinigolfEditor">
<param name="height" value="530">
<param name="archive" value="MinigolfEditor.jar">
<param name="width" value="600">
<param name="code" value="MinigolfEditor"><
/applet></center></body></html>

Dann brauchst du noch eine Datei und zwar
http://javapelit.saunalahti.fi/minigolf/picture/minigolf_palat.gif .

Die muss zu XYZ/picture/minigolf_palat.gif werden.
Und dann haben wir noch XYZ/MinigolfEditor.jar.

Jetzt kannst du mit dem browser die html Seite laden und das Applet wird auch ausgeführt, aber es funktioniert nicht! Zumindest bei mir unter Linux. Wenn es bei dir unter Windows tut, dann sei froh und geh schlafen. Viel Spass damit. :)

Im Anderen Fall:

Das Problem ist, das Programmierer eine http-Verbindung aufmacht um das gif nach zu laden. Lokal funktioniert das nicht. Wenn du einen kleinen WebServer hast, dann kannst du die Datei-Struktur in dein htdocs Verzeichniss legen und die html-Seite über den Server aufrufen. Funktioniert hier bei mir einwandfrei. Bedienen kann ich es allerdings nicht, da mein finnisch (oder welche Sprache das auch ist) etwas eingerostet ist.:) Falls du keinen Server hast: Besorgen. Der einfachste, den ich kenne heisst TinyWebServer braucht kaum Platz und noch weniger Leistung. Google mal danach.

Damit sollte alles gehen und ich geh schlafen. Viel Spass auch.:)

nescio
18-04-2004, 02:52
Also bei mir funktioniert's mit dem aktuellen Sun JRE. Hattest Du doch auch installiert?
Benutzt Du den Internet Explorer? Dann kann es sein, dass Du in den Einstellungen, irgendwo unter Erweitert einstellen mußt, dass er das Sun Java verwenden soll. Dann sollte es klappern.

JuSt
18-04-2004, 14:05
Also bei mir funktioniert's mit dem aktuellen Sun JRE. Hattest Du doch auch installiert?
Benutzt Du den Internet Explorer? Dann kann es sein, dass Du in den Einstellungen, irgendwo unter Erweitert einstellen mußt, dass er das Sun Java verwenden soll. Dann sollte es klappern.

Ich hab nachgeschaut. Da ist ein Haken bei dem entsprechenden Java.

Wird es bei dir wirklich so angezeigt:

http://home.arcor.de/golfliga/Editorrichtig.png

In der oberen Zeile müssten noch die Symbole von http://home.arcor.de/golfliga/minigolf_palat.gif sein.

Bei mir kommt nur immer diese Version:
http://home.arcor.de/golfliga/Editorstart.png


Dabei ist es so, dass man in dem mittleren Feld mit der linken und der rechten Maustaste rummalen kann. Auch kann man Symbole aus der oberen Leiste auswählen und dann mit diesen malen. Nur, dass man nicht sieht, wo welches ist. Und normalerweise müsste es dann auch so sein, dass das erstellte Bild dann per Druck auf "Talleta" in einen Zahlen-Buchstaben-Code verwandelt wird. Auch das geht nicht.

JuSt
18-04-2004, 17:29
[QUOTE=nonnobis]...[QUOTE]

Danke, dass du dir so viel Mühe gemacht hast.
Ich hab`s wie von dir beschrieben auf meiner Platte erstellt. Leider kommt dabei auch nichts anderes heraus, wie der kaputte Editor, über den ich oben geschrieben habe.

Wieso muss man für diese Server-Geschichte finnisch können?

nescio
18-04-2004, 18:00
Die Symbole habe ich auch nicht. Sie sind auch nirgends hinterlegt, so dass sie geladen werden könnten. Sie sind also gar nicht vorgesehen. Rummalen kann man aber.

Mehr kannste nicht machen.

JuSt
18-04-2004, 18:50
Die Symbole habe ich auch nicht. Sie sind auch nirgends hinterlegt, so dass sie geladen werden könnten. Sie sind also gar nicht vorgesehen. Rummalen kann man aber.

Mehr kannste nicht machen.

Ne, ne?
Die Symbole sind doch das hier:
http://home.arcor.de/golfliga/minigolf_palat.gif
:heul:

nescio
18-04-2004, 19:28
Ich kann aber diese Sprache nunmal nicht. Vielleicht wird da ja irgendwas dazu erklärt.

nonnobis
18-04-2004, 19:32
Ne, ne?
Die Symbole sind doch das hier:
http://home.arcor.de/golfliga/minigolf_palat.gif
!:heul:
Deine Verzweiflung ist gerechtfertigt.
Mehr als auf der Original Web-Seite angezeigt wird, konnte ich auch nicht erreichen. Ich dachte nur, das wäre richtig so. Die Java Konsole zeigt auch keinen Fehler des Applets. Es sieht alles ganz normal aus.
Bei "Finnisch" meinte ich übrigens nicht den Server, sondern das Applet. Der Server ist schon in Englisch :D . Aber wenn es bei dir schon aus dem Directory soweit läuft, dann kannst du dir den Schritt ja auch sparen.

Es gäbe vielleicht noch eine Möglichkeit. In den Internet Explorer Optionen kann man das SUN Java Plugin deaktivieren, so das die Microsoft Java Engine zum tragen kommt. Du musst die Optionen einfach mal durchgehen, ich habe schon so lange nichts mehr mit IE gemacht, das ich nicht mehr sagen kann, wo das dort ist. Es gibt Applets, die speziell für die MS Engine geschrieben sind und die sich in der SUN Engine fehlerhaft verhalten. Vielleicht hasst du damit Glück.

Ansonsten bin ich, mangels Anhaltspunkte, mit meinem Latein am Ende. Viel Glück.

JuSt
18-04-2004, 21:36
Deine Verzweiflung ist gerechtfertigt.
Es gäbe vielleicht noch eine Möglichkeit. In den Internet Explorer Optionen kann man das SUN Java Plugin deaktivieren, so das die Microsoft Java Engine zum tragen kommt. Du musst die Optionen einfach mal durchgehen, ich habe schon so lange nichts mehr mit IE gemacht, das ich nicht mehr sagen kann, wo das dort ist. Es gibt Applets, die speziell für die MS Engine geschrieben sind und die sich in der SUN Engine fehlerhaft verhalten. Vielleicht hasst du damit Glück.


Habe ich versucht. Macht keinen Unterschied.

OK, ein letzter Versuch noch. Macht es einen Unterschied, wenn man über diese Seite draufgeht?
http://home.arcor.de/golfliga/Editor.htm

nonnobis
18-04-2004, 22:21
Habe ich versucht. Macht keinen Unterschied.

OK, ein letzter Versuch noch. Macht es einen Unterschied, wenn man über diese Seite draufgeht?
http://home.arcor.de/golfliga/Editor.htm
:nein: Sorry. Stellt sich für mich genauso dar wie die andere und die lokale Version.

:nixweiss:

nescio
18-04-2004, 22:28
Oben scheint aber eine Symbolleiste zu sein, die zwar funktioniert, aber nicht angezeigt wird. Man kann dahin klicken, dann mit dem Symbol zeichnen, man sieht die Leiste oben nur nicht.

Schade.