JAR-bestand uitvoeren op Windows

Ik heb een JAR-bestand met de naam helloworld.jar.
Om het uit te voeren, voer ik de volgende opdracht uit in een opdrachtregelvenster:

java -jar helloworld.jar

Dit werkt prima, maar hoe voer ik het in plaats daarvan uit met dubbelklikken?
Moet ik software installeren?


Antwoord 1, autoriteit 100%

De eenvoudigste manier is waarschijnlijk het upgraden of opnieuw installeren van de Java Runtime Environment (JRE).

Of dit:

  • Open de Windows Verkenner, selecteer bij Extra ‘Mapopties…’
  • Klik op het tabblad Bestandstypen, scrol omlaag en selecteer JAR-bestandstype.
  • Druk op de knop Geavanceerd.
  • Selecteer in het dialoogvenster Bestandstype bewerken openen in het vak Acties en klik op Bewerken…
  • Druk op de knop Bladeren en navigeer naar de locatie van de Java-interpreter javaw.exe.
  • In het veld Toepassing gebruikt om actie uit te voeren, moet iets worden weergegeven dat lijkt op C:\Program Files\Java\j2re1.4.2_04\bin\javaw.exe" -jar "%1" % (Opmerking: het gedeelte dat begint met ‘javaw’ moet precies zo zijn; het andere gedeelte van de padnaam kan variëren afhankelijk van de versie van Java die u gebruikt) en druk vervolgens op de OK-knoppen totdat alle dialoogvensters zijn gesloten.

Die is hier gestolen: http://windowstipoftheday. blogspot.com/2005/10/setting-jar-file-association.html


Antwoord 2, autoriteit 58%

In Windows Vista of Windows 7, de handmatige editor voor bestandskoppeling is verwijderd.

De gemakkelijkste manier is om Jarfix uit te voeren, een kleine maar krachtige gratis tool. Voer het gewoon uit en uw Java-apps zijn terug… weer dubbelklikbaar.


Antwoord 3, autoriteit 46%

Als u uw .jar-bestand moet distribueren en het op de Windows-computers van anderen moet laten werken,
je kunt een eenvoudig .bat-bestand zoals dit maken in de opdrachtprompt:

java -jar MyJavaTool.jar

en plaats het .bat-bestand in dezelfde map als uw .jar-bestand.


Antwoord 4, autoriteit 20%

Als je een jar-bestand hebt met de naam Voorbeeld.jar, volg dan deze regels:

  1. Open een notepad.exe
  2. Schrijf: java -jar Example.jar
  3. Sla het op met de extensie .bat
  4. Kopieer het naar de map met het bestand .jar
  5. Dubbelklik erop om uw .jar-bestand uit te voeren

Antwoord 5, autoriteit 13%

Een interessant neveneffect hiervan veroorzaakt een probleem bij het starten van uitvoerbare jar-bestanden in de opdrachtprompt.

Als je het probeert (in een opdrachtprompt):

jarfile.jar parameter

Geen vreugde, want dit wordt vertaald naar het volgende (wat niet werkt):

javaw.exe -jar jarfile.jar parameter

Het volgende commando werkt echter wel:

java.exe -jar jarfile.jar parameter

Als u de koppeling in bestandsbeheer wijzigt zoals hierboven beschreven in:

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

Vervolgens kun je typen:

jarfile.jar parameter

in de opdrachtprompt en het zal nu werken!

EDIT:(U krijgt dan echter een zwart consolevenster wanneer u een op formulieren gebaseerde (niet-console) Java-app uitvoert, dus dit is geen ideale oplossing)

Als u deze jar-bestanden uitvoert door erop te dubbelklikken in vensters, worden er geen parameters doorgegeven, dus uw Java-code moet de stackoverflow-uitzondering afhandelen en een “druk op een toets”-functie aan het einde bevatten, anders verdwijnt het venster gewoon .

Om een ​​parameter in Windows door te geven, moet u een snelkoppeling naar het jar-bestand maken, die de parameter in de doelregel bevat (klik met de rechtermuisknop op de snelkoppeling en selecteer eigenschappen). U kunt geen parameters toevoegen aan het jar-bestandspictogram zichzelf op deze manier.

Er is hier geen enkele, consistente oplossing, maar u zou hetzelfde probleem hebben met elke andere consoletoepassing.

Er is een Windows freeware-toepassing genaamd “bat to exe” die u kunt gebruiken om een ​​exe-bestand te maken van een .bat-bestand met de juiste opdrachtregel erin. je kunt het jar-bestand ook insluiten in de exe met deze applicatie, en het opschonen wanneer het klaar is met draaien, dus dit kan een elegantere oplossing zijn.


Antwoord 6, autoriteit 8%

Stel eerst het pad in op cmd(opdrachtprompt):

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

typ dan

java -jar yourProgramname.jar 

Antwoord 7, autoriteit 7%

In Windows XP * hebt u slechts 2 shell-opdrachten nodig:

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

uiteraard gebruik je het juiste pad voor de JRE en elke gewenste naam in plaats van myjarfile.

Om de huidige instellingen te controleren:

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

dit keer met de waarde die wordt geretourneerd door de eerste opdracht, indien van toepassing, in plaats van jarfile.

* niet getest met Windows 7


Antwoord 8, autoriteit 5%

Er is een manier zonder dat de gebruiker wijzigingen hoeft aan te brengen op zijn pc. Met Runtime.getRuntime.exec() kunnen we cmd.exe starten en er opdrachten in uitvoeren. Het is dus mogelijk dat het Java-programma zichzelf uitvoert in de opdrachtprompt wanneer de gebruiker op het .jar-bestand klikt.

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
    }
}

Antwoord 9, autoriteit 4%

Naast alle andere suggesties, is er nog iets waar u rekening mee moet houden. Is uw helloworld.jar een consoleprogramma? Als dat zo is, geloof ik niet dat je er een dubbelklikbaar jar-bestand van kunt maken. Consoleprogramma’s gebruiken het reguliere cmd.exe-shellvenster voor hun invoer en uitvoer. Gewoonlijk is de jar “launcher” gebonden aan javaw.exe die geen opdracht-shell-venster maakt.


Antwoord 10, autoriteit 4%

Open in regedit HKEY_CLASSES_ROOT\Applications\java.exe\shell\open\command

Dubbelklik op standaard aan de linkerkant en voeg -jar toe tussen het pad java.exe en het argument “%1“.


Antwoord 11, autoriteit 4%

Ik gebruik Windows 7 x64 en kon geen van deze oplossingen gebruiken.

Deze werkte toch voor mij:

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

Er is een archief dat u kunt downloaden met daarin een .bat-bestand om uit te voeren, maar controleer het pad van de daadwerkelijke javaw.exe!!!!


Antwoord 12, autoriteit 2%

U wilt een aantal dingen controleren; als dit je eigen jar-bestand is, zorg er dan voor dat je een hoofdklasse hebt gedefinieerd in het manifest. Omdat we weten dat je het vanaf de opdrachtregel kunt uitvoeren, is het andere wat je moet doen een Windows-snelkoppeling maken en de eigenschappen wijzigen (je zult rond moeten kijken, ik heb geen Windows-machine om naar te kijken) zodat het commando dat het uitvoert bij open is het java -jar commando dat je noemde.

Het andere: als iets niet in de war is, zou het toch moeten werken; controleer en zorg ervoor dat java is gekoppeld aan de .jar-extensie.


Antwoord 13

Helaas is het niet zo eenvoudig omdat Microsoft de geavanceerde bestandskoppelingsdialoog in recente Windows-edities heeft verwijderd. – Bij nieuwere Windows-versies mag u alleen de toepassing specificeren die zal worden gebruikt om het .jar-bestand te openen.

Het repareren van het openen van een .jar-bestand in Windows vereist twee stappen.

  1. Open het Configuratiescherm en kies “Standaardprogramma’s -> Koppelingen instellen”. Zoek daar de .jar-extensie (Uitvoerbaar JAR-bestand) en kies Java als standaardprogramma om deze extensie te openen. Het zal waarschijnlijk worden vermeld als “Java Platform(SE)“. Een sneller alternatief is misschien om met de rechtermuisknop op een .jar-bestand te klikken en vervolgens het bijbehorende programma te wijzigen door op de knop “Wijzigen…” te klikken.

  2. Open nu de regedit en open de sleutel HKEY_CLASSES_ROOT\jarfile\shell\open\command. Gelukkig voor ons kunnen we daar parameters specificeren voor de (Default) waarde. Op mijn Windows-systeem ziet het er als volgt uit: C:\app\32\jre7\bin\javaw.exe" -jar "%1" %* maar in de meeste gevallen is het de volgende string: C:\Program Files\Java\jre7\bin\javaw.exe" -jar "%1" %*

OPMERKINGEN:

  • Gebruik java.exe daar niet, want dan wordt het shell-venster geopend.
  • De jarfix-tool die in deze thread wordt genoemd, doet hoogstwaarschijnlijk niets meer dan de wijziging van het register voor u. Ik geef de voorkeur aan de handmatige registerwijzigingsmethode, omdat dat impliceert dat de systeembeheerder de registerwijziging naar alle werkstations in het netwerk kan “pushen”.

Antwoord 14

Ik had hetzelfde probleem in Windows 10. Ik heb het opgelost met rechts klikken op de “helloworld.jar” en ga naar eigenschappen en klik op de knop wijzigen onder “Opent met:” en selecteer “Een andere app zoeken op deze pc“. Ga in het dialoogvenster “Openen met…” naar de locatie van uw Java-map op uw pc en open de bijbehorende jdk-map en open vervolgens de map bin en selecteer “javaw.exe” vanaf daar. De volgende keer dat uw “helloworld.jar” op de normale manier wordt geopend.

Gebruikelijk voorbeeld van Java-locatie: “C:\Program Files (x86)\Java\jdk1.8.0_111\bin“.


Antwoord 15

Een andere manier om jar-bestanden uit te voeren met een klik/dubbelklik, is door “-jar” toe te voegen aan de
naam van het bestand. U zou bijvoorbeeld het bestand MyJar.jar hernoemen naar -jar MyJar.jar.

U moet natuurlijk de .class-bestanden hebben die zijn gekoppeld aan java.exe. Dit werkt misschien niet in alle gevallen, maar bij mij heeft het de meeste keren gewerkt.


Antwoord 16

PreScript: als uw prompt verschijnt en onmiddellijk verdwijnt, is de reden dat uw programma wordt uitgevoerd en automatisch wordt afgesloten. Probeer aan het einde een scanner te plaatsen om te beëindigen en het zal je prompt laten wachten op invoer voordat het wordt beëindigd. (Of gebruik misschien vertraging)

Was in precies dezelfde situatie, waarin het uitvoeren van .jar vanuit cmd prima werkte, maar dubbelklikken deed niets.

Oplossing:
Open een willekeurige teksteditor en schrijf de opdrachtregel:
java -jar Voorbeeld.jar
Sla het bestand op als een .bat-bestand.
Voer dit bat-bestand uit om de benodigde uitvoer te krijgen.

Als je nog een stap verder gaat, kun je dit bat-bestand converteren naar een exe-bestand met een eenvoudige GUI-tool zoals Bat To Exe Converter.

Nu kun je je .jar delen als een distributie in een .exe-bestand dat iedereen kan gebruiken. Zorg er wel voor dat je alle bestanden bij elkaar houdt. (Vooral het .jar- en .bat-bestand zorgt ervoor dat .bat slechts een cmd-prompt is) (Hoe het logisch aanvoelt)

Ik ben vrij nieuw in ontwikkeling en leer veel. Excuses voor eventuele fouten indien gepleegd. Suggesties zijn welkom.


Antwoord 17

Maak .bat bestand:

start javaw -jar %*

En kies de app-standaard om .jar te openen met dit .bat-bestand.

Het zal cmd sluiten wanneer uw .jar-bestand wordt gestart.


Antwoord 18

Heb hetzelfde probleem op Windows 10
De oplossing:

  1. Controleer uw JAVA_HOME en JAVA_PATH.
    https://javatutorial.net/set-java-home-windows-10
  2. Gebruik Jarfix om de koppeling tussen .jar en javaw.exe
    te herstellen
    https://johann.loefflmann.net/en/software/jarfix/index. html

Antwoord 19

Als je eclipse gebruikt voor het maken van je java-bestanden, kun je ervoor kiezen om het te exporteren als een uitvoerbaar jar-bestand. Ik deed dit met mijn programma’s en ik kan gewoon op de pot klikken en het zal gewoon zo werken. Dit werkt op beide vensters, evenals op os x.


Antwoord 20

Een start.bat maken was het enige dat voor mij werkte.

open een tekstdocument en voer in. java -jar hoe de jouwe ook heet .jar

opslaan als start.bat in dezelfde map als het .jar-bestand dat u wilt uitvoeren. en voer vervolgens de. vleermuis


Antwoord 21

Als u het jar-bestand moet uitvoeren door erop te dubbelklikken, moet u het maken als een “Uitvoerbare JAR“. je kunt het gewoon doen met je IDE.

Als je eclipse gebruikt, volg dan deze stappen:

    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.

meer informatie is te vinden op de Eclipse-helppagina: LINK


Antwoord 22

Er zijn veel methoden voor het uitvoeren van een .jar-bestand op Windows. Een daarvan gebruikt de opdrachtprompt.

Stappen:

  1. Open opdrachtprompt (uitvoeren als beheerder)
  2. Schrijf nu de opdracht “cd\” voor de hoofdmap
  3. Typ “java jar bestandsnaam.jar”
    Opmerking: u kunt ook apps van derden gebruiken, zoals WinRAR, jarfix, enz.

Antwoord 23

Stappen:

1.) zoek naar Java SE Runtime Environment op Google: https ://www.google.com/search?q=Java+SE+Runtime+Environment

2.) installeer de juiste versie op uw computer


Antwoord 24

Voor het compileren:

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

Voor hardlopen:

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

Antwoord 25

Eigenlijk had ik ook met dit probleem te maken,
Ik kwam ermee om door een .bat-runner te maken voor mijn jar-bestand

hier is de 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;
       }
   }
}

Doe dan dit in Uw hoofdtoepassingsklasse:

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();
    }
}

Houd er rekening mee dat

  1. deze code (mijn code) werkt alleen met een jar-bestand, niet met een klassenbestand.

  2. het jar-bestand moet dezelfde naam hebben als de tekenreeks “jarName” is de hoofdklasse


Antwoord 26

gebruik .bat bestand:

Zet je commando in een .bat-bestand. hier is je commando java -jar path\yourJarName.jar.
Something like: java -jar C:\workspace\myApplication.jar

Sla het op en dubbelklik op het bat-bestand om je jar uit te voeren.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

6 + five =

Other episodes