windows - java kan køre jar fra cmd men ikke ved at dobbeltklikke

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har lige lavet en jarfil ved hjælp af jdk7. Jeg forsøgte at køre det, men fortsatte med at få en fejl. Det viste sig at det pegede på en jre6 og ikke jre i jdk7. Så jeg brugte følgende kommando for at ændre den


ftype jarfile='C: \ path til jre \ bin \ javaw.exe' -jar '\% 1'\% *


Derefter forsøgte jeg at dobbeltklikke på min jarfil igen, men det poppede op i et vindue og bad mig om at vælge et program for at åbne det med. Da jeg valgte den samme javaw.exe-fil som ovenfor, kører den men forlader straks uden at gøre noget. Jeg kan køre det fint i cmd ved at gøre kommandoen java -jar file.jar. Jeg forsøgte endda at slette .jar-registreringsdatabasenøglen, men det fik mig bare tilbage til det punkt, hvor det bad mig om at vælge et program, der skulle åbnes med. Jeg kører Windows 7, hvis det betyder noget.


REDIGERE:
I registreringsdatabasen er der 3 undernøgler: OpenWithList, OpenWithProgids og UserChoice. Jeg har ændret alle standardindstillingerne til stien ovenfor, undtagen UserChoice, som ikke vil lade mig redigere det fra regedit. Når jeg sletter det og forsøger at køre jarfilen, åbnes det for at vælge et program, der skal åbnes med vinduet igen. Af en eller anden grund ignorerer den de andre registreringsnøgler

Bedste reference


OK, jeg fandt svaret et andet sted, men løb ind på dette problem igen, så kom her via google.

 Løsningen er ...



  1. Åbn regedit.exe

  2. Enten søg efter 'jre6' eller følg dette:
    HKLM->SOFTWARE->Classes->jarfile->shell->open->command

  3. Skift datafeltet til biblioteket i filen javaw.exe , der er i din JDK-mappe.

  4. For Guds kærlighed glem ikke at sætte de underlige [-jar "\%1" \%*] dele i slutningen af ​​det.

  5. Nyd outsmarting Oracle.



Forhåbentlig vil dette spare nogle mennesker lidt tid.


Dette skete for mig, da jeg installerede JRE6 plugin til Chrome, selvom det kunne ske, når jeg installerede andre JRE jeg gætte.

Andre referencer 1


Jeg fik det ved at gå til regedit og søgte efter jre, der bragte op ...


HKEY\_CURRENT\_USER/Software/Hold/Programmer/javaw.exe/Shell/åben/kommando


Jeg har ændret REG\_SZ


fra: 'C: \ Programmer (x86) \ Java \ jre7 \ bin \ javaw.exe' '\% 1'


til: 'C: \ Programmer (x86) \ Java \ jre7 \ bin \ javaw.exe' -jar '\% 1'\% *

Andre referencer 2


Når vinduer beder dig om et program til at køre det imod det, vil du ikke indsætte det nødvendige -jar argument i kommandolinjen.


Hvis det spørger dig om exe, hvor det skal køre det, betyder det på en eller anden måde, at din JRE ikke er forbundet med udvidelsen .jar. Du skal ændre .jar filregistreringspostet, så det kører c:path\_to\_jreinjavaw -jar \%1 for at det kan fungere.

Det plejede at være under File Explorer > Tools > Folder Options > File Types.

Så kig efter .jar derinde. Du skal finde et tekstfelt, der viser den eksekverbare for at køre og kommandolinjens argumenter. Det er det, du vil ændre. Du kan også gøre det i registreringseditoren, men jeg har glemt HKEY variabelbanen. Jeg er sikker på, at denne KBA vil hjælpe:


support\_microsoft\_kb\_950505 [17]

Andre referencer 3


Kontroller, om filtypen jarfile faktisk er registreret med * .jar-udvidelsen ved hjælp af


assoc .jar


Virker som .jar er ikke forbundet med jarfile.

Andre referencer 4


Er det ikke nemmere at ændre din java-version til dig igen jdk7 ved at ændre CLASSPATH miljøvariablen? Se hvordan her [18]

Andre referencer 5


Jeg er ikke sikker på, hvorfor ingen af ​​løsningerne fungerede, men jeg geninstallerede jre7, og det virker nu.