Ist ein Runnable Jar File Platformunabhängig?

Status
Nicht offen für weitere Antworten.

icarus2

Top Contributor
Huhu

Ich hoffe mal das passt hier rein ^^

Ich habe gerade mein erstes kleines Spiel programmiert und dies in Eclipse als Runnable Jar file exportiert. Soweit ich weiss sollte dieses Platformunabhängig sein. Als ich es jedoch einem Kollegen von mir schicken wollte, der ein Mac user ist, konnte der das jar file nicht öffnen.

Hat wer ne Idee woran das liegen könnte/ kann mir jmd sagen wie ich so etwas Platformunabhängig hinkriege?

Mfg ica
 

SebiB90

Top Contributor
Also im prinzip ist nen jar file plattformunabhängig. Allerdings müssen ein paar Sachen gegeben sein. Der User muss natürlich Java installiert haben, also mindestens JRE. Dann müsste die Endung .jar richtig verknüpft sein, sonst klappt es per Doppelklick nicht. Programme wie z.B. WinRar reißen gerne auch .jar Endungen an sich.
Sollte das alles gegeben sein wäre die einzige Fehlerquelle noch, dass du externe Libs benutzt, die sich bei dir im classpath befinden, aber bei deinem Kollegen nicht. Daher diese entweder immer mitliefern oder ins eigene Jar File einbinden.
 

icarus2

Top Contributor
Hmm, also ich habe das ganze wie gesagt mit Eclipse exportiert. Eigentlich verwende ich nur Standardklassen au den Standardpaketen(java.awt, java.awt.event, javax.swing).

Eigentlich hat doch so gut wie jeder Rechner die JRE drauf oder nicht?


Hmm, keine Ahnung woran das liegen könnte. Ich frag mal n anderen MC user ob ers öffnen kann.


Thx für die Hilfe.
 

icarus2

Top Contributor
Hmm, kann sein, dass da eine ätere Version drauf ist.

Es ist vom richtigen Typ das file, wird als executable jar file angezeigt. Aber zum sicher gehen hab ichs mal angehängt.

Kannst du es ausführen?


PS: Nicht erschrecken... ist mein aller erstes Spiel, das ich in kurzer Zeit programmiert habe ^^
 

Anhänge

  • Balling_Swing.jar
    6 KB · Aufrufe: 7

SebiB90

Top Contributor
Ich kanns ausführen.
Zum Spiel:
Für den Anfang nicht schlecht. Allerdings die Geschwindigkeit des Balls im Verhältnis zum Balken/Spieler ist noch überarbeitungswürdig. Also man sollte den Balken besser frei bewegen können und/oder wenn man die Taste gedrückt hält, sollte sie der Balken ganze Zeit in die Richtung bewegen. Mehrfaches drücken ist irgendwie unschön, finde ich. Ka ob es so gewollt war oder nur die technische Umsetzung für die andere Variante fehlt.
 

icarus2

Top Contributor
Hmm, ja dann schau ich mal warum mein Kollege das nicht ausführen konnte.

Zum Spiel:
Eigentlich wollte ich das zuerst machen, dass man den Balken bewegen kann, indem man die Tasten einfach gedrückt hält. Aber der Einfachheit halber hab ich das dann mal weggelassen. Aber ich werde das jetzt gleich mal ändern :)


Danke für die Tipps.
 

icarus2

Top Contributor
Das gehört jetzt nicht umbeding hier hinein, aber wo wir schon grad beim Thema sind...

Ich habe jetzt folgende Idee gehabt. Ich habe eine Klasse KeyBoardListener, die KeyListener und Runnable implementiert.

In der Methode KeyPressed() wird der Thread gestartet. Der Thread wird unterbrochen, indem die Taste losgelassen wird. Dieser Event wird in der Methode keyReleased() abgefangen und interrupt() wird aufgerufen. Dadurch solle der Thread unterbrochen werden. Aber irgendwie funktioniert was nicht richtig. Kann gut sein, dass ich was mit dem Thread und interrupt() verbockt habe. Ich habe noch nicht viel mit Threads programmiert.

Hier mal den Code:

[Java]
@Override
public void keyPressed(KeyEvent e) {
if(e.getKeyCode()== KeyEvent.VK_RIGHT){
direction = "right";
key_pressed.start(); //The thread is started


}
else if(e.getKeyCode()==KeyEvent.VK_LEFT){
direction = "left";
key_pressed.start();
System.out.println("Thread started"); //The thread is started
}

}

@Override
public void keyReleased(KeyEvent e) {
if(e.getKeyCode()== KeyEvent.VK_RIGHT){
key_pressed.interrupt(); //The thread is interrupted
}
else if(e.getKeyCode()==KeyEvent.VK_LEFT){

key_pressed.interrupt(); //The thread is interrupted
}
}

@Override
public void keyTyped(KeyEvent e) {

}

//Returns the x_speed of the shape
public int get_x_speed_shape(){

int a = x_speed_shape;
x_speed_shape = 0;

return a;
}

@Override
public void run() {
//While the Thread is running, there has to be a constant x_speed of the shape, until
//the thread is interrupted (in the keyReleased()-Method).
while(true) {
if(direction == "right"){
x_speed_shape = 10;
}

else if(direction == "left"){
x_speed_shape = -10;
}

try {
Thread.sleep(100);
}catch(InterruptedException e) {
System.out.println("Thread is interrupted ==> break");
if(Thread.interrupted())
break;
}
}
x_speed_shape = 0; //Speed = 0 (no key is Pressed)
}
[/Java]

Kannst du mir sagen, was ich falsch mache?

Edit:
Mir ist grad aufgefallen, dass ich das eigentlich unnötig kompliziert mache mit dem Thread. Ich könnte ja auch einfach in der KeyListener Methode jeweils gleich die Geschwindigkeit setzen... keine Ahnung wiso ich da so etwas kompliziertes machen wollte :S

Aber würde mich trotzdem noch interessieren warum mein Thread nicht funktioniert.
 

Schandro

Top Contributor
wegen dem unter mac ausführen: Eins meiner Programme hat auch nicht unter mac funktioniert, grund:
(Achtung Halbwissen!)
Bei mac ist die höchste JRE Version unter der bei z.b. windows, d.h. du musst es mit einem älteren JDK compilen (den compile level kann man in Eclipse einstellen)

Wegen deinem Code:
Strings niemals mit == vergleichen!
immer s1.equals(s2) benutzen.

Außerdem würd sich für sowas eher ein int statt String anbieten und einige int-Konstanten, die jeweils für eine Direction stehen.
(oder en enum, das wäre aber schon ein bisschen fortgeschritten)
 
Zuletzt bearbeitet:

icarus2

Top Contributor
Aso, ok. Ich habe jetzt grad die höchste kompabilität gewählt vom compiler her, mal sehen obs klappen wird. Thx


Hast du ne Idee warum das oben nicht geht?
 

icarus2

Top Contributor
Hab jetzt kurz eine Klasse geschrieben und MouseMotionListener implementiert. Finde man kann es am besten mit der Maus steuern.

Prog ist im Anhang ;-)
 

Anhänge

  • Balling.jar
    7,2 KB · Aufrufe: 4
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Eclipse/Runnable JAR file/.fxml-Datei Tools - Maven, Gradle, Ant & mehr 1
T Maven Runnable Jar Tools - Maven, Gradle, Ant & mehr 5
H Maven Dependencies in runnable Jar einbinden Tools - Maven, Gradle, Ant & mehr 16
C runnable jar nicht ausführbar Tools - Maven, Gradle, Ant & mehr 4
D Maven surefire "no runnable method" bei upgrade >2.7.2 Tools - Maven, Gradle, Ant & mehr 4
D Runnable JApplet mit Bild/Ovals "übermalt" Buttons Tools - Maven, Gradle, Ant & mehr 6
H Jenkins - maven-jar-plugin - kein jar-file Tools - Maven, Gradle, Ant & mehr 38
Thallius Jenkins nur zip file erstellen? Tools - Maven, Gradle, Ant & mehr 3
S Enviroment Variable jar file Tools - Maven, Gradle, Ant & mehr 0
L Ausführbare Jar-File funktioniert nicht Tools - Maven, Gradle, Ant & mehr 15
R DLL in JAR File Tools - Maven, Gradle, Ant & mehr 5
B Wie kann man unter Windows 7 file types mit Java Applikationen verknüpfen? Tools - Maven, Gradle, Ant & mehr 5
G Maven JAR-File schmeißt NoClassDefFoundError wenn /lib Verzeichnis nicht daneben entpackt wird Tools - Maven, Gradle, Ant & mehr 9
B Ant Build File, wie ist der Java3D Native Code einzubinden? Tools - Maven, Gradle, Ant & mehr 6
C Applet Öffnen eines JAR-Files im JAR-File Tools - Maven, Gradle, Ant & mehr 2
A ProcessBuilder kann nach Deployment File nicht finden Tools - Maven, Gradle, Ant & mehr 4
B Buckminster: Plugin Version in Java source File einfügen Tools - Maven, Gradle, Ant & mehr 4
B Maven deploy-file frage Tools - Maven, Gradle, Ant & mehr 6
D Java Webstart startet .jar file nicht Tools - Maven, Gradle, Ant & mehr 13
B SourceCode + Bilder in EIN Jar File packen Tools - Maven, Gradle, Ant & mehr 22
M Export von Jar File mit JDBC Treiber Tools - Maven, Gradle, Ant & mehr 2
grudge File in Applet laden Tools - Maven, Gradle, Ant & mehr 4
ABstraCT Passwort speichern im jar File ? Tools - Maven, Gradle, Ant & mehr 4
B Maven: file.separator und properties-Dateien Tools - Maven, Gradle, Ant & mehr 8
T eignes Tool in Ant-File Tools - Maven, Gradle, Ant & mehr 4
G ant - last modified datum aus file auslesen Tools - Maven, Gradle, Ant & mehr 7
S Applet und File-Object? Tools - Maven, Gradle, Ant & mehr 9
F jar file starten Tools - Maven, Gradle, Ant & mehr 12
T jar File im jar File Tools - Maven, Gradle, Ant & mehr 7
J keytool um für Tomcat keystore file zu erstellen Tools - Maven, Gradle, Ant & mehr 1
J Externe Dateien im jar File Tools - Maven, Gradle, Ant & mehr 4
G Jar File Java Web Start Tools - Maven, Gradle, Ant & mehr 2
G File open/save mit WebStart Tools - Maven, Gradle, Ant & mehr 3
D Properties File FileInputStream Problem Tools - Maven, Gradle, Ant & mehr 2
M datei mit html file an applet übergeben Tools - Maven, Gradle, Ant & mehr 3
F Applet erscheint bei Eclipse, aber nicht im HTML-File Tools - Maven, Gradle, Ant & mehr 2
R Slash-Probleme durch File Tools - Maven, Gradle, Ant & mehr 2
shiny_hair Fehlermeldung: URI scheme is not "file" / Verzeich Tools - Maven, Gradle, Ant & mehr 8
B File open Dialog Tools - Maven, Gradle, Ant & mehr 6
K IE + Sun PlugIn + JAR + Zugriff per file:/ geht nicht mehr Tools - Maven, Gradle, Ant & mehr 2
L Applet jar file von 1.4 und 1.1.8 Tools - Maven, Gradle, Ant & mehr 21
D Netbeans / JAR File Tools - Maven, Gradle, Ant & mehr 2

Ähnliche Java Themen

Neue Themen


Oben