Windows 7에서 .jar 파일을 두 번 클릭하여 실행할 수 없습니다.


4

명령 줄에서 .jar 파일을 실행하면 정상적으로 작동하지만 PC에서 .jar 파일을 두 번 클릭하여 실행할 수는 없습니다 . 흥미로운 점은 동일한 .jar 파일을 두 번 클릭하여 랩톱에서 성공적으로 실행하는 것입니다.

나는 포함 %JAVA_HOME\bin하고 JDK_HOME\binPATH변수입니다.
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의 스냅 샷은 다음과 같습니다 .
Windows CMD의 Java -version


나는 성공하지 않고 다음 방법을 시도했다.

  • JRE와 JDK를 다시 설치
  • .jar 파일을 C:\Program Files\Java\jre1.8.0_121\bin\javaw.exe,
  • 사용 assoc .jar=jarfileftype 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[]).


나는 이미 성공하지 않고 다음 링크의 솔루션 으로이 문제를 해결하려고 시도했습니다.


노트:

  • WinRAR로 .jar 파일을 열고 싶지 않습니다.
  • java -jar jarfile.jarcmd.exe에서 실행 하여 .jar 파일을 열고 싶지 않습니다 .
  • .jar 파일을 실행하는 타사 응용 프로그램을 찾고 있지 않습니다.


지금은 C:\Windows\System32\cmd.exe /k "java -jar C:\path\to\jarfile\Program.jar"jar 파일을 실행하는 바로 가기 위치로 사용 하고 있지만 스윙 응용 프로그램을 실행하기 위해 콘솔을 열 때이 솔루션에 만족하지 않습니다.

나는 stackoverflow 에서 같은 질문을 했지만 슈퍼 유저 가이 종류의 질문에 더 적합하다는 것이 나에게 지적되었다.

답변:


2

나는 당신이 오늘했던 것과 같은 문제를 가진 사람을 만났습니다. 어떻게 든 수정했는지는 확실하지 않지만 어떻게 든 수정했습니다. 내가 취한 대략적인 일련의 단계 만 제공 할 수 있습니다.

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메뉴 의 항목 이 작업 경로를 가진 항목이라는 것을 깨달았다 . (과거에 올바른 경로 / 파일을 선택해도 제대로 고정되지 않습니다.) 슬프게 두 번 클릭해도 여전히 깨졌습니다. 그러나 '이 프로그램으로 항상이 형식의 파일을 엽니 다'확인란을 선택했는지 확인하고 마지막으로 두 번 클릭하면 실제로 다시 연결되도록 연결을 수정했습니다.


1
경로 및 레지스트리 항목 을 일치 시켜 Open with 목록 에서 Java (TM) Platform SE 바이너리 를 가져올 수있었습니다 . 이제 파일에 아이콘이 표시되지만 두 번 클릭해도 여전히 작동하지 않습니다. HKEY_CURRENT_USERHKEY_LOCAL_MACHINE.jar
dinomario10

1
업데이트 : 내가 삭제 .jarjar_auto_file의 항목 HKEY_CURRENT_USER/Software/Classes는 일 ! .jar 파일이 두 번 클릭하면 다시 열립니다!
dinomario10

2

나도 문제가 있었다. 해결책은 훨씬 간단합니다. 빠진 -jar인수를 추가하십시오 .

HKEY_CLASSES_ROOT \ jar_auto_file \ shell \ open \ command로 이동하여 기본값을 다음과 같이 설정하십시오.

"C:\Program Files\Java\[...]\java.exe" "-jar" "%1" 

모든 "-jar"옵션 이 누락되었습니다 .

즐겨!


1

문제를 해결하기 위해 위의 모든 단계를 시도했지만 아무것도 작동하지 않았습니다. 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 파일을 두 번 클릭하여 열 수 있습니다.


0

PC에 여러 개의 JDK가 설치되어있을 수 있습니다. 일부 이전 JDK 설치 프로그램은 또한 일부 자바 파일을 복사 java.exe, javaw.exeC:\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입니다.

문제

.jarJDK 1.8을 사용하여 개발되었으며 작동하지 않는 실행 파일을 두 번 클릭하고 싶습니다.

이것은 내 해결책입니다.

  1. .jar열려 는 파일 의 바로 가기를 만듭니다 .
  2. 바로 가기 아이콘을 마우스 오른쪽 버튼으로 클릭하고 속성-> 바로 가기 탭을 선택하십시오.
  3. 대상의 텍스트를 변경하십시오 (예 "D:\Dev\JavaApp1.8.jar":)

    " C:\Program Files\Java\jdk1.8.0\bin\javaw.exe" -jar " D:\Dev\JavaApp1.8.jar"

  4. 그런 다음 확인을 클릭하십시오. 바로 가기를 두 번 클릭하십시오.

이제 앱을 열어야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.