ubuntuusers.de

Java unter Wine?

Status: Gelöst | Ubuntu-Version: Kubuntu 7.10 (Gutsy Gibbon)
Antworten |

Homesick_Alien

Avatar von Homesick_Alien

Anmeldungsdatum:
31. Juli 2007

Beiträge: 253

Ich möchte ein Programm, "DiaLang", welches für Windows geschrieben wurde, mit wine starten. Das Programm benötigt "Java Runtime Environment". Ich habe also dieses zuerst im .wine Verzeichnis installiert. Anschließend habe ich "DiaLang" installiert. Leider bekomme ich immer wenn ich das Programm starten will folgende Fehlermeldung:

java virtual machine launcher: Could not find the main class. Program will exit.  

Wie kann ich das Programm zum Laufen bringen?

craesh

Avatar von craesh

Anmeldungsdatum:
12. April 2006

Beiträge: 222

Wohnort: Mannheim

Java ist doch Plattformunabhängig, d.h. dass Java-Programme auf jeder Plattform laufen können, für die es eine Java-VM gibt (nicht nur auf Windows). Dein Java-Programm sollte ohne Probleme direkt auf deinem Linux ausführbar sein, vorausgesetzt du hast das Java-Paket installiert.

Homesick_Alien

(Themenstarter)
Avatar von Homesick_Alien

Anmeldungsdatum:
31. Juli 2007

Beiträge: 253

Also die Datei die ich ausführen will ist aber eine "exe". Ich habe nun die Exe mit Wine entpacket und weiß nun nicht so richtig wie ich es zum laufen bringen soll. Da sind nun mehrere "jar" Dateien, die ich versucht habe mit Java auszuführen. Es hat aber leider nicht geklappt.

Ich poste mal den link zu der Seite von der ich das Programm habe:

http://www.dialang.org/german/index.htm

craesh

Avatar von craesh

Anmeldungsdatum:
12. April 2006

Beiträge: 222

Wohnort: Mannheim

Das ist schon ein komisches Programm. Da schreibt jemand was in Java, und verpackt es dann in eine exe... ich will nicht wissen, wer sich das einfallen lies.

Zu deinen Jar-Dateien. Jars sind gezipte Dateien, die man in etwa mit einer exe vergleichen kann. Dass du gleich mehrere hast ist auch komisch. Poste doch bitte mal die Liste der Namen der Dateien, vielleicht bringt uns das weiter. Ist außer den Jar-Dateien nicht weiteres drin? Was für Fehlermeldungen kriegst du, nachdem du die Dateien im Terminal mit "java -jar deinedatei.jar" ausführst?

Homesick_Alien

(Themenstarter)
Avatar von Homesick_Alien

Anmeldungsdatum:
31. Juli 2007

Beiträge: 253

Habe folgende Dateien:

cache       comms.jar    Dialang.exe  etc   splash.gif
client.jar  crimson.jar  dialang.ico  logs  tinylogo.gif

in Ordner "etc":

allocators.xml  ioerror.xml  punctuation.xml  version.xml
dialang.props   pp.gzo       resource.db

Was für Fehlermeldungen kriegst du, nachdem du die Dateien im Terminal mit "java -jar deinedatei.jar" ausführst?

Failed to load Main-Class manifest attribute from
~/client.jar

Fred_vom_Jupiter

Anmeldungsdatum:
18. November 2007

Beiträge: 18

Moin Homesick Alien !

Diese Fehlermeldung hatte ich eben auch noch:

Failed to load Main-Class manifest attribute from
~/client.jar

Daraufhin habe ich über Synaptic erstmal eine vollständige Installation an "sun-java6-jre" (kannst wahrscheinlich auch 5 nehmen) durchgeführt, was bedeutet, alle abhängigen Pakete werden mit installiert.

Danach musste ich noch alle vorhanden Scripte, die mit *.sh enden (bei mir im Ordner /home/fredi/datenbank/home/bin liegen) in der ersten Zeile von "#/bin/sh" nach "#/bin/bash" ändern. Geht mit dem einfach Texteditor ganz schnell (öffnen, eintragen, speichern und schließen).
Liegt daran, dass die Datenbank für SuSu angelegt wurde und nicht für *Buntu.

Aber mal davon abgesehen, was soll die EXE-Datei alles erledigen ?
Nur die Archive, sprich *.jar-Dateien anlegen, oder auch die Registry bei WinDoof bearbeiten ?

CU

Homesick_Alien

(Themenstarter)
Avatar von Homesick_Alien

Anmeldungsdatum:
31. Juli 2007

Beiträge: 253

Hey Fred,

danke für den Tipp. Ich habe das Programm jedoch nun einfach an der Uni laufen lassen. Vielleicht nützt mir und anderen dein Hinweis aber mal in einem anderen Fall. ☺

brj

Avatar von brj

Anmeldungsdatum:
23. Mai 2005

Beiträge: 105

Wohnort: Bern, Schweiz

java programme laufen auch unter linux. du musst nur mal in der exe-datei nachschauen, welche klasse gestartet werden soll.
die klasse kanst du dann mit java -classpath <alle jars> klasse starten. um eine jar datei mittels doppelklick zu starten, muss in deren
manifest.mf ein mainclass eingetragen sein.

falls es sich um ein eclipse rcp-applikation handelt (erkennbar am plugins-verzeichnis mit org.eclipse...jars) wird's schwieriger,
da die applikation wahrscheinlich nur für windows erstellt wurde (org.eclipse.swt.win32...jars im plugins-verzeichnis).
du musst "nur" die swt.win32 plugins und den launcher durch die entsprechenden swt.gtk plugins ersetzen. das habe ich aber noch nie versucht ☹

im prinzip kann man rcp-applikationen über mit der klasse org.eclipse.equinox.launcher.Main starten:

java -classpath plugins\org.eclipse.equinox.launcher_1.0.1.R33x_v20080118.jar org.eclipse.equinox.launcher.Main

dabei ist zu beachten, dass die aktuelle launcher.jar benutzt wird. obiges beispiel startet bei mir ein rcp-applikation, ohne die exe zu benutzen.

zerwas Team-Icon

Avatar von zerwas

Anmeldungsdatum:
13. April 2005

Beiträge: 2561

Für jemanden, der auch eine Lösung sucht:

Die Lösung habe ich hier noch einmal aufgeschrieben. Mit Wine die EXE installieren, alles in "lib" aus der Datei jmf-2_1_1e-alljava.zip nach .wine/drive_c/Programme/Dialang entpacken und mit diesem Befehl starten:

java -cp client.jar:comms.jar:crimson.jar:jmf.jar net.dialang.client.Main
Antworten |