wake-up-neo.net

JAR-Datei unter Windows ausführen

Ich habe eine JAR-Datei namens helloworld.jar . Um sie auszuführen, führe ich den folgenden Befehl in einem Befehlszeilenfenster aus:

Java -jar helloworld.jar

Das funktioniert gut, aber wie führe ich es stattdessen mit Doppelklick aus? Muss ich irgendwelche Software installieren?

186
DonX

Die einfachste Route ist wahrscheinlich das Upgrade oder die Neuinstallation der Java Runtime Environment (JRE).

Oder dieses:

  • Öffnen Sie den Windows Explorer und wählen Sie "Ordneroptionen ...".
  • Klicken Sie auf die Registerkarte Dateitypen, scrollen Sie nach unten und wählen Sie JAR-Dateityp aus.
  • Drücken Sie die Advanced-Taste.
  • Wählen Sie im Dialogfeld Dateityp bearbeiten die Option Öffnen im Feld Aktionen aus und klicken Sie auf Bearbeiten.
  • Klicken Sie auf die Schaltfläche Durchsuchen, und navigieren Sie zu dem Verzeichnis, in dem sich der Java-Interpreter javaw.exe befindet.
  • In der Anwendung, in der die Aktion ausgeführt wird, muss etwas ähnliches angezeigt werden wie C:\Program Files\Java\j2re1.4.2_04\bin\javaw.exe" -jar "%1" % (Hinweis: Der Teil, der mit 'javaw' beginnt, muss genau so sein, der andere Teil des Pfadnamens kann je nach Java-Version variieren using) und dann die OK-Tasten, bis alle Dialoge geschlossen sind.

Welches wurde von hier gestohlen: http://windowstipoftheday.blogspot.com/2005/10/setting-jar-file-association.html

107
Brian Kelly

In Windows Vista oder Windows 7 wurde der Editor für die manuelle Dateizuordnung entfernt.

Der einfachste Weg ist, Jarfix auszuführen, ein kleines, aber leistungsstarkes Freeware-Tool. Führen Sie es einfach aus und Ihre Java-Apps sind wieder verfügbar ... können Sie erneut doppelklicken.

76
Hendy Irawan

Wenn Sie Ihre .jar-Datei verteilen und auf anderen Windows-Computern ausführen müssen, können Sie eine .bat-Datei mit dem Befehl Prompt:

Java -jar MyJavaTool.jar

und platzieren Sie die .bat-Datei im selben Verzeichnis wie Ihre .jar-Datei.

44
Demorf

Wenn Sie eine JAR-Datei mit dem Namen Example.jar haben, befolgen Sie diese Regeln:

  1. notepad.exe öffnen
  2. Schreiben: Java -jar Example.jar
  3. Speichern Sie es mit der Erweiterung .bat
  4. Kopieren Sie es in das Verzeichnis, in dem sich die .jar-Datei befindet
  5. Doppelklicken Sie darauf, um Ihre .jar-Datei auszuführen
21
Pusu

Ein interessanter Nebeneffekt dieses Problems verursacht ein Problem beim Starten von ausführbaren JAR-Dateien in der Befehlszeile.

Wenn Sie es versuchen (in einer Eingabeaufforderung)

parameter jarfile.jar

Keine Freude, denn dies wird in folgendes übersetzt (das funktioniert nicht):

parameter javaw.exe -jar jarfile.jar

der folgende Befehl funktioniert jedoch:

Java.exe -jar jarfile.jar-Parameter

Wenn Sie die Zuordnung im Dateimanager wie oben beschrieben in Folgendes ändern:

"C:\Programme\Java\j2re1.4.2_04\bin\Java.exe" -jar "% 1"% *

sie können dann Folgendes eingeben:

parameter jarfile.jar

in der Eingabeaufforderung und es wird jetzt funktionieren! BEARBEITEN: (Sie erhalten jedoch ein schwarzes Konsolenfenster, wenn Sie eine formularbasierte (nicht konsolenbasierte) Java-App ausführen. Daher ist dies keine ideale Lösung.)

Wenn Sie diese JAR-Dateien mit einem Doppelklick in Windows ausführen, werden keine Parameter übergeben. Daher muss Ihr Java-Code die Stack-Overflow-Ausnahme behandeln und am Ende eine Funktion zum Drücken einer Taste hinzufügen. Andernfalls wird das Fenster einfach ausgeblendet.

Um einen Parameter in Windows übergeben zu können, müssen Sie eine Verknüpfung zur JAR-Datei erstellen, die den Parameter in der Zielzeile enthält (klicken Sie mit der rechten Maustaste auf die Verknüpfung und wählen Sie Eigenschaften aus). Sie können dem Symbol der JAR-Datei selbst keine Parameter hinzufügen Weg.

Es gibt hier keine einheitliche Lösung, aber Sie hätten bei jeder anderen Konsolenanwendung das gleiche Problem. 

Es gibt eine Windows-Freeware-Anwendung namens "bat to exe", mit der Sie eine Exe-Datei aus einer .bat-Datei mit der entsprechenden Befehlszeile erstellen können. Sie können die JAR-Datei mit dieser Anwendung auch in das Exe-Programm einbetten und nach der Ausführung bereinigen, sodass dies eine elegantere Lösung darstellt.

15
Bob

Erster Pfad auf cmd setzen (Eingabeaufforderung):

set path="C:\Program Files\Java\jre6\bin"

dann tippen

Java -jar yourProgramname.jar 
11
suraj

In Windows XP * Sie brauchen nur 2 Shell Befehle:

   C:\>ftype myjarfile="C:\JRE1.6\bin\javaw.exe" -jar "%1" %* 
   C:\>assoc .jar=myjarfile  

verwenden Sie offensichtlich den richtigen Pfad für die JRE und einen beliebigen Namen anstelle von myjarfile.

Um nur die aktuellen Einstellungen zu überprüfen:

   C:\>assoc .jar  
   C:\>ftype jarfile  

verwenden Sie diesmal den Wert, der vom ersten Befehl zurückgegeben wird, falls vorhanden, anstelle von jarfile.

* nicht mit Windows 7 getestet

8

Neben all den anderen Vorschlägen müssen Sie noch eine andere Sache beachten. Ist Ihr helloworld.jar ein Konsolenprogramm? Wenn ja, glaube ich nicht, dass Sie es in eine doppelt anklickbare JAR-Datei umwandeln können. Konsolenprogramme verwenden das reguläre cmd.exe-Shell-Fenster für ihre Eingabe und Ausgabe. Normalerweise ist der Jar "Launcher" an javaw.exe gebunden, wodurch kein Befehls-Shell-Fenster erstellt wird.

6
Stephen Gilbert

Es ist möglich, ohne dass der Benutzer Änderungen an seinem PC vornehmen muss. Mit Runtime.getRuntime.exec () können wir cmd.exe starten und Befehle darin ausführen. Es ist daher möglich, dass das Java-Programm selbst in der Eingabeaufforderung ausgeführt wird, wenn der Benutzer auf die .jar-Datei klickt.

public static void main(String[] args) throws IOException {
    if(args.length == 0) {
        Process p = Runtime.getRuntime().exec("cmd.exe /c start Java -jar " + (new File(NameOfClass.class.getProtectionDomain().getCodeSource().getLocation().getPath())).getAbsolutePath() + " cmd");
    } else {
        //code to be executed
    }
}
6
dario111cro

Ich verwende Windows 7 x64 und konnte keine dieser Korrekturen verwenden.

Dieser hat doch für mich gearbeitet:

http://thepanz.netsons.org/post/windows7-jar-file-association-broken-with-nokia-ovi

Es gibt ein Archiv, das Sie herunterladen können, das eine .bat-Datei enthält, die Sie ausführen können, aber überprüfen Sie den Pfad der eigentlichen javaw.exe!

5
lawid

Sie möchten ein paar Dinge prüfen; Wenn dies Ihre eigene JAR-Datei ist, stellen Sie sicher, dass Sie im Manifest eine Main-Klasse definiert haben. Da wir wissen, dass Sie es von der Kommandozeile aus ausführen können, müssen Sie eine Windows-Verknüpfung erstellen und die Eigenschaften ändern (Sie müssen sich umsehen, ich habe keine Windows-Maschine, um darauf zu schauen) Der Befehl, den es beim Öffnen ausführt, ist der von Ihnen erwähnte Java-Befehl. 

Die andere Sache: Wenn etwas nicht verwirrt ist, sollte es trotzdem funktionieren. Überprüfen Sie, ob Java mit der Erweiterung .jar verknüpft ist.

3
Charlie Martin

Öffnen Sie in regedit HKEY_CLASSES_ROOT\Applications\Java.exe\Shell\open\command

Doppelklicken Sie links auf default und fügen Sie -jar zwischen dem Java.exe-Pfad und dem Argument "%1" hinzu.

2
grwww

Ich hatte das gleiche Problem in Windows 10. Ich habe es mit righ-click in der "helloworld.jar" behoben und gehe zu properties und klicke auf die Schaltfläche change unter " Öffnet sich mit: "und wählt" Suche nach einer anderen App auf diesem PC ". Gehen Sie im Dialogfeld "Open with ..." zu Ihrem Java-Ordner auf Ihrem PC, öffnen Sie den entsprechenden jdk-Ordner, öffnen Sie den Ordner bin und wählen Sie "javaw.exe. " von dort. Das nächste Mal öffnet sich Ihre "helloworld.jar" wie üblich.

Übliches Java-Standortbeispiel: "C:\Programme (x86)\Java\jdk1.8.0_111\bin".

1

Leider ist es nicht so einfach, da Microsoft in den letzten Windows-Editionen den erweiterten Dateizuordnungsdialog entfernt hat. - Bei neueren Windows-Versionen dürfen Sie nur die Anwendung angeben, die zum Öffnen der .jar-Datei verwendet wird.

Das Reparieren der .jar-Datei unter Windows erfordert zwei Schritte.

  1. Öffnen Sie die Systemsteuerung und wählen Sie "Standardprogramme -> Verknüpfungen festlegen". Suchen Sie dort nach der Erweiterung .jar ( Executable JAR file ) und wählen Sie Java als Standardprogramm aus, um diese Erweiterung zu öffnen. Es wird wahrscheinlich als " Java Platform (SE) " aufgeführt. Eine schnellere Alternative ist vielleicht ein einfacher Rechtsklick auf eine .jar-Datei und dann das zugehörige Programm durch Klicken auf die Schaltfläche "Ändern ...".

  2. Öffnen Sie nun den Regedit und öffnen Sie den Schlüssel HKEY_CLASSES_ROOT\jarfile\Shell\open\command. Zum Glück können wir dort Parameter für den (Default)-Wert angeben. Auf meinem Windows-System sieht es wie folgt aus: C:\app\32\jre7\bin\javaw.exe" -jar "%1" %*, aber in den meisten Fällen ist es die folgende Zeichenfolge: C:\Program Files\Java\jre7\bin\javaw.exe" -jar "%1" %*

ANMERKUNGEN: 

  • Verwenden Sie dort nicht Java.exe, da das Shell-Fenster geöffnet wird.
  • Das in diesem Thread erwähnte jarfix - Tool führt wahrscheinlich nur die Registrierungsänderung für Sie durch. Ich bevorzuge eine manuelle Registrierungsänderungsmethode, da dies bedeutet, dass der Systemadministrator die Registrierungsänderung an alle Arbeitsstationen im Netzwerk "pushen" kann.
1
DejanLekic

PreScript : Wenn Ihre Eingabeaufforderung sofort angezeigt wird und ausgeblendet wird, kann dies dazu führen, dass Ihr Programm ausgeführt und automatisch geschlossen wird. Versuchen Sie, einen Scanner am Ende zu platzieren, um ihn zu beenden. Dadurch wird Ihre Eingabeaufforderung vor dem Beenden auf Eingabe warten. (Oder vielleicht Verzögerung verwenden)

War in der gleichen Situation, wo das Laufen von .jar von cmd gut funktionierte, aber das Doppelklicken machte nichts.

Lösung: Öffnen Sie einen beliebigen Texteditor und schreiben Sie die Befehlszeile: Java -jar Example.jarSpeichern Sie die Datei als .bat-Datei . Führen Sie diese bat-Datei aus, um die erforderliche Ausgabe zu erhalten.

Um einen Schritt vorwärts zu gehen, können Sie diese bat-Datei mit einem einfachen GUI-Tool wie Bat To Exe Converter in eine exe-Datei konvertieren.

Jetzt können Sie Ihre JAR-Datei als Distribution in einer EXE-Datei freigeben, die von jedem verwendet werden kann. (Insbesondere die .jar- und .bat-Datei verursacht .bat ist nur eine cmd-Eingabeaufforderung.) (Wie sich das anfühlt, logisch)

Ich bin ziemlich neu in der Entwicklung und viel lernen. Bitte entschuldigen Sie für eventuelle Fehler. Vorschläge sind willkommen.

1
Manthan_Admane

Eine andere Möglichkeit, JAR-Dateien mit einem Klick/Doppelklick auszuführen, besteht darin, "-jar" vor dem Namen der -Datei zu setzen. Beispielsweise würden Sie die DateiMyJar.jarin-jar MyJar.jarumbenennen.

Die .class-Dateien müssen natürlich mit Java.exe verknüpft sein. Dies funktioniert möglicherweise nicht in allen Fällen, hat aber meistens für mich funktioniert.

1
user4343596

Wenn Sie die JAR-Datei mit einem Doppelklick ausführen müssen, müssen Sie sie als "Runnable JAR" erstellen. Sie können es einfach mit Ihrer IDE machen.

Wenn Sie Eclipse verwenden, gehen Sie folgendermaßen vor:

    To create a new runnable JAR file in the workbench:

1.From the menu bar's File menu, select Export.
2.Expand the Java node and select Runnable JAR file. Click Next.
3.In the  Opens the Runnable JAR export wizard Runnable JAR File Specification page, select a 'Java Application' launch configuration to use to create a runnable JAR.
4.In the Export destination field, either type or click Browse to select a location for the JAR file.
5.Select an appropriate library handling strategy.
Optionally, you can also create an ANT script to quickly regenerate a previously created runnable JAR file.

weitere Informationen finden Sie in der Eclipse-Hilfeseite: LINK

0
Nomesh DeSilva

Es gibt viele Methoden zum Ausführen der .jar-Datei unter Windows. Einer von ihnen verwendet den Befehl Aufforderung. 

Schritte :

  1. Eingabeaufforderung öffnen (Als Administrator ausführen)
  2. Schreiben Sie nun den Befehl "cd \" für das Stammverzeichnis
  3. Geben Sie "Java jar Dateiname.jar" .__ ein. Hinweis: Sie können auch Anwendungen von Drittanbietern wie WinRAR, Jarfix usw. verwenden.
0
irisrei08

Eigentlich war ich auch mit diesem Problem konfrontiert und habe einen .bat-Runner für meine JAR-Datei erstellt

hier ist der Code:

class FileHandler{
   public static File create_CMD_Rnner(){
      int exitCode = -1625348952;
      try{
           File runner = new File(Main.batName);
           PrintWriter printer = new PrintWriter(runner);
           printer.println("@echo off");
           printer.println("title " + Main.applicationTitle);
           printer.println("Java -jar " + Main.jarName + " " + Main.startCode );
           printer.println("PAUSE");
           printer.flush();
           printer.close();
           return runner;
       }catch(Exception e){
           System.err.println("Coudln't create a runner bat \n exit code: " + exitCode);
           System.exit(exitCode);
           return null;
       }
   }
}



Führen Sie dann in Ihrer Hauptanwendungsklasse Folgendes aus:

public class Main{
    static String jarName = "application.jar";
    static String applicationTitle = "Java Application";
    static String startCode = "javaIsTheBest";
    static String batName = "_.bat";


    public static void main(String args[]) throws Exception{
        if(args.length == 0 || !args[0].equals(startCode)) {
            Desktop.getDesktop().open(FilesHandler.create_CMD_Rnner());
            System.exit(0);
        }else{
            //just in case you wanted to hide the bat
            deleteRunner();
            // Congratulations now you are running in a cmd window ... do whatever you want
            //......
            System.out.println("i Am Running in CMD");
            //......
            Thread.sleep(84600);
        }
    }


    public static void deleteRunner(){
        File batRunner = new File(batName);
        if(batRunner.exists()) batRunner.delete();
    }
}


Bitte beachte, dass

  1. dieser Code (mein Code) funktioniert nur mit einer JAR-Datei, nicht mit einer Klassendatei.

  2. die JAR-Datei muss denselben Namen wie der String haben. "JAR-Name" ist die Hauptklasse

0
ZOLDIK

Schritte:

1.) Suche nach Java SE Runtime Environment bei Google: https://www.google.com/search?q=Java+SE+Runtime+Environment

2.) Installieren Sie die entsprechende Version auf Ihrem Computer

0
iorgu

Wenn Sie Eclipse zum Erstellen Ihrer Java-Dateien verwenden, können Sie sie als ausführbare JAR-Datei exportieren. Ich habe das mit meinen Programmen gemacht und ich kann einfach auf das Glas klicken und es wird genauso laufen. Dies funktioniert sowohl für Windows als auch für OS X.

0
user2675678

.bat-Datei erstellen:

start javaw -jar %*

Wählen Sie App-Standard, um .jar mit dieser .bat-Datei zu öffnen.

Es wird cmd geschlossen, wenn Sie Ihre .jar-Datei starten.

0
Hongarc

Zum Kompilieren:

javac  -cp ".;./mysql-connector-Java-5.0.8.jar;mybatis-3.0.1.jar;ibatis-2.3.0.677.jar" MainStart.Java

Zum Laufen:

Java  -cp ".;./mysql-connector-Java-5.0.8.jar;mybatis-3.0.1.jar;ibatis-2.3.0.677.jar" MainStart
0

Einen start.bat zu machen, war das Einzige, was für mich funktionierte.

ein Textdokument öffnen und eingeben. Java -jarwas auch immer Ihnen gehört, heißt.jar

speichern Sie als start.bat im selben Ordner wie die JAR-Datei, die Sie ausführen möchten. und dann die. Fledermaus

0
freeloaderzful