명령 줄에서 .jar 파일을 실행하면 정상적으로 작동하지만 PC에서 .jar 파일을 두 번 클릭하여 실행할 수는 없습니다 . 흥미로운 점은 동일한 .jar 파일을 두 번 클릭하여 랩톱에서 성공적으로 실행하는 것입니다.
나는 포함 %JAVA_HOME\bin
하고 JDK_HOME\bin
의 PATH
변수입니다.
로 JAVA_HOME
설정했습니다 C:\Program Files\Java\jre1.8.0_121
.
로 JDK_HOME
설정했습니다 C:\Program Files\Java\jdk1.8.0_121
.
일정 기간 동안 Java (TM) Platform SE 바이너리 가 Open with
목록 에서 사라졌으며 HKEY_CLASSES_ROOT\jar_auto_file\shell\open\command
키를 regedit.exe
적절한 버전으로 변경할 때까지 추가 할 수 없었습니다 .
C : \ Program Files \ Java \ jre1.8.0_ 121 \ bin \ javaw.exe “”% 1 “.
java -version
내 PC에 입력 한
Windows CMD의 스냅 샷은 다음과 같습니다 .
나는 성공하지 않고 다음 방법을 시도했다.
- JRE와 JDK를 다시 설치
- .jar 파일을
C:\Program Files\Java\jre1.8.0_121\bin\javaw.exe
, - 사용
assoc .jar=jarfile
및ftype jarfile="C:\Program Files\Java\jre1.8.0_121\bin\javaw.exe" -jar "%1" %*
명령 행에서, - 새 시스템 환경 변수 OPENDS_JAVA_ARGS를 작성하고 -jar로 설정합니다 .
추가 정보:
- PC와 랩톱 모두에 최신 업데이트가 설치된 Windows 7 Professional 64 비트 (서비스 팩 1)를 사용하고 있습니다.
- 내 PC에서 작동 하는 데 사용되는 .jar 파일을 두 번 클릭하여 실행 했지만 얼마 전에 갑자기 작동이 중지되었습니다. Java와 관련된 것은 수정하지 않았습니다.
- JRE와 JDK (Java 8 버전 121)의 최신 버전이 있습니다.
- 내가 실행하려고하는 .jar 파일 중 일부는 GUI Swing 응용 프로그램이며 일부는 시스템 콘솔 (아직 열려 있지 않은 경우)을 사용하여 엽니 다
Runtime.getRuntime().exec(String[])
.
나는 이미 성공하지 않고 다음 링크의 솔루션 으로이 문제를 해결하려고 시도했습니다.
- https://stackoverflow.com/questions/8511063/how-to-run-jar-file-by-double-click-on-windows-7-64
- https://stackoverflow.com/questions/19966394/how-to-open-run-jar-file-double-click-not-working
- https://stackoverflow.com/questions/18434292/i-can-run-jar-files-through-cmd-but-i-cannot-double-click-them
- https://stackoverflow.com/questions/1724892/cant-run-jar-files
노트:
- WinRAR로 .jar 파일을 열고 싶지 않습니다.
java -jar jarfile.jar
cmd.exe에서 실행 하여 .jar 파일을 열고 싶지 않습니다 .- .jar 파일을 실행하는 타사 응용 프로그램을 찾고 있지 않습니다.
지금은 C:\Windows\System32\cmd.exe /k "java -jar C:\path\to\jarfile\Program.jar"
jar 파일을 실행하는 바로 가기 위치로 사용 하고 있지만 스윙 응용 프로그램을 실행하기 위해 콘솔을 열 때이 솔루션에 만족하지 않습니다.
나는 stackoverflow 에서 같은 질문을 했지만 슈퍼 유저 가이 종류의 질문에 더 적합하다는 것이 나에게 지적되었다.
답변
나는 당신이 오늘했던 것과 같은 문제를 가진 사람을 만났습니다. 어떻게 든 수정했는지는 확실하지 않지만 어떻게 든 수정했습니다. 내가 취한 대략적인 일련의 단계 만 제공 할 수 있습니다.
regedit를 사용하여 HKEY_CURRENT_USER 및 HKEY_LOCAL_MACHINE 레지스트리 항목이 일치하지 않는 것으로 나타났습니다. HKLM은 올바른 경로 를 가리키는 일반적인 .jar
-> jarfile
설정을 가졌습니다 jarfile
. HKCU에 .jar
-> jar_auto_file
연관이있어서 오래된 경로가 올바르지 않습니다.
이 경로를 편집해도 문제가 해결되지 않았습니다. 또한을 가리 키려고했는데 jarfile
도움이되지 않았습니다. 나는 함께 법석을 떨게 assoc
하고 ftype
이 Windows를 깨울 수 있다면 조금보고; 도용 방지 기능으로 인해 Windows가 업데이트 된 경로를 수신하지 못하는 것으로 나타났습니다. 슬프게도, 그것은별로하지 않았다.
결국 나는 방금 jar_auto_file
항목을 삭제했습니다 . 이것은 나에게 부분적인 행복을 주었다. Windows는 마침내 Open With
메뉴 의 항목 이 작업 경로를 가진 항목이라는 것을 깨달았다 . (과거에 올바른 경로 / 파일을 선택해도 제대로 고정되지 않습니다.) 슬프게 두 번 클릭해도 여전히 깨졌습니다. 그러나 ‘이 프로그램으로 항상이 형식의 파일을 엽니 다’확인란을 선택했는지 확인하고 마지막으로 두 번 클릭하면 실제로 다시 연결되도록 연결을 수정했습니다.
답변
나도 문제가 있었다. 해결책은 훨씬 간단합니다. 빠진 -jar
인수를 추가하십시오 .
HKEY_CLASSES_ROOT \ jar_auto_file \ shell \ open \ command로 이동하여 기본값을 다음과 같이 설정하십시오.
"C:\Program Files\Java\[...]\java.exe" "-jar" "%1"
모든 "-jar"
옵션 이 누락되었습니다 .
즐겨!
답변
문제를 해결하기 위해 위의 모든 단계를 시도했지만 아무것도 작동하지 않았습니다. JDK와 JRE를 모두 설치했습니다.
내 경우에는 하나의 jar 파일이 두 번 클릭으로 열려있는 반면 다른 jar 파일은 열리지 않았습니다. 나는 그 파일들을 조사했고 아마도 열려있는 파일이 JAVA SE 6을 사용하여 생성되었고 열리지 않은 파일이 JAVA SE 7을 사용하여 생성 되었기 때문일 수 있습니다. 문제가있는 jar 파일은 명령 프롬프트 (java -jar)를 통해 실행되었습니다 myfile.jar).
JDK \ bin 디렉토리와 JRE \ bin 디렉토리 모두에서 오른쪽 클릭-> 속성-> javaw.exe로 변경을 시도했습니다.
레지스트리 편집기에서 javaw.exe 경로 (JDK \ bin에서 JRE \ bin으로)를 변경하여 문제를 해결할 수있었습니다.
이동 jarfile가 \ \ 열려 \ 명령 쉘 \ HKEY_CLASSES_ROOT , 값이 있었다,
"C:\Program Files\Java\jdk-11.0.1\bin\javaw.exe" -jar "%1" %*
나는 그것을 바꿨다.
"C:\Program Files\Java\jre1.8.0_191\bin\javaw.exe" -jar "%1" %*
그리고 효과가있었습니다. 이제 jar 파일을 두 번 클릭하여 열 수 있습니다.
답변
PC에 여러 개의 JDK가 설치되어있을 수 있습니다. 일부 이전 JDK 설치 프로그램은 또한 일부 자바 파일을 복사 java.exe
, javaw.exe
로 C:\Windows\System32
폴더.
비슷한 문제가 있었고 인터넷에서 솔루션을 검색했지만 .jar
파일 을 두 번 클릭해도 제안 사항이 열리지 않았습니다 .
제 경우에는 컴퓨터에 여러 JDK 및 JRE 버전이 설치되어 있기 때문입니다. 다른 클라이언트에 대해 여러 가지 다른 버전으로 작업하는 소프트웨어 개발자이므로 PC (Windows 10 Pro)에서 여러 JDK를 사용해야합니다. 따라서 시스템 변수 (예 JAVA_HOME
: JRE_HOME
또는 PATH
) 를 변경하지 않고 대신 다른 버전을 사용하려고 할 때마다 명령 프롬프트를 사용하여 사용자 프로세스에서 java를 실행합니다.
JDK .jar
를 설치하면 PC에 설치 한 최신 버전과 파일 연결이 등록 됩니다. .jar 아이콘을 마우스 오른쪽 단추로 클릭하고 특성을 선택하면 파일이 “Java (TM) Platform SE Binary”로 열린다는 것을 표시합니다. 레지스트리 키 : HKEY_CLASSES_ROOT\jarfile\shell\open\command
를 보면 최신 JDK 버전을 가리 킵니다.
다른 버전에서 앱 빌드를 실행할 때마다 레지스트리 키를 변경하는 것은 좋은 생각이 아닙니다 (때로는 성가시다).
따라서 내 상황에서는 .jar
파일을 두 번 클릭하여 실행할 수 없습니다. 그러나 대신 해결책 자체를 찾았습니다.
대본:
여러 JDK (1.7, 1.8, 9.0, 10.0, 11.0 및 12.0)가 PC에 설치되어 있으므로 최신 버전은 12.0입니다.
문제
.jar
JDK 1.8을 사용하여 개발되었으며 작동하지 않는 실행 파일을 두 번 클릭하고 싶습니다.
이것은 내 해결책입니다.
.jar
열려 는 파일 의 바로 가기를 만듭니다 .- 바로 가기 아이콘을 마우스 오른쪽 버튼으로 클릭하고 속성-> 바로 가기 탭을 선택하십시오.
-
대상의 텍스트를 변경하십시오 (예
"D:\Dev\JavaApp1.8.jar"
🙂”
C:\Program Files\Java\jdk1.8.0\bin\javaw.exe
”-jar
”D:\Dev\JavaApp1.8.jar
“ -
그런 다음 확인을 클릭하십시오. 바로 가기를 두 번 클릭하십시오.
이제 앱을 열어야합니다.