[java] “jarfile에 액세스 할 수 없습니다”오류의 원인은 무엇입니까?

IDE를 사용하지 않고 프로그램을 실행하고 싶습니다. jar 파일과 실행 가능한 jar 파일을 만들었습니다. exe jar 파일을 두 번 클릭해도 아무런 변화가 없으며 cmd에서 명령을 사용하려고하면 다음과 같이 나타납니다.

Error: Unable to access jarfile <path>

나는 명령을 사용한다 : java -jar Calculator.jar

항아리를 어떻게 만들었습니까?

  1. 프로젝트 폴더를 마우스 오른쪽 버튼으로 클릭하십시오 (계산기)
  2. 고르다
  3. Java 폴더를 클릭하고 “Executable Jar File”을 선택한 후 다음을 선택하십시오.
  4. 발사 구성 : 메인-계산기
  5. 내보내기 대상 만들기
  6. “마침”을 누르고 이익을! 글쎄,별로.


답변

Jar 파일을 다음과 같이 실행할 때이 문제가 발생했습니다.

java -jar TestJar

대신에

java -jar TestJar.jar

확장명 .jar없으면 이 문제가 발생합니다.


답변

결정된

방금 다른 폴더에 넣고 작동했습니다.


답변

[아마도 Windows에만 해당]

jar이 현재 작업 디렉토리에있는 경우에도 경로의 공백에주의하십시오. 예를 들어, 나를 위해 이것은 실패했습니다.

java -jar myjar.jar

항아리에 대한 인용 된 전체 경로를 givng 하여이 문제를 해결할 수있었습니다.

java -jar "%~dp0\myjar.jar" 

크레디트는 저를 올바른 길로 안내 해준 이 답변으로 갑니다 ….


답변

Windows의 CygWin 에서이 문제가 발생했습니다. 나는 자바 (Cygwin에서 경로를 이해하지 못하는 것을 다른 곳에서 읽은 /cygdrive/c/some/dir대신을 C:\some\dir) – 내가 대신 상대 경로를 사용하므로 : ../../some/dir/sbt-launch.jar.


답변

jar 파일을 시작하려고 할 때 동일한 문제가 발생했습니다. 경로에는 공백이 포함되어 있으므로 인용 부호를 붙여야했습니다. 대신에:

java -jar C:\Path to File\myJar.jar

나는 써야했다

java -jar "C:\Path to File\myJar.jar"


답변

나쁜 USB를 만들려고하는 것과 같은 문제가 발생했습니다 …

admin cmd 에서이 명령을 실행하려고했습니다.

java -jar c:\fw\ducky\duckencode.jar -I c:\fw\ducky\HelloWorld.txt  -o c:\fw\ducky\inject.bin

그러나이 오류가 발생했습니다 :

Error: unable to access jarfile c:\fw\ducky\duckencode.jar

해결책

1 단계

해당 jarfile을 마우스 오른쪽 단추로 클릭하십시오. 속성을 클릭하십시오. 오른쪽 하단에서 차단 해제 탭을 클릭하십시오. 파일이 PC에 다운로드되어 생성되지 않아 차단되었습니다.

2 단계

cmd에서 jar 파일이있는 디렉토리로 변경했습니다.

cd C:\fw\ducky\

그런 다음 입력 dir하고 파일의 이름을 봤습니다.duckencode.jar.jar

그래서 cmd에서 파일을 참조하도록 원래 명령을 변경했습니다. .jar.jar

java -jar c:\fw\ducky\duckencode.jar.jar -I c:\fw\ducky\HelloWorld.txt  -o c:\fw\ducky\inject.bin

해당 명령은 오류 메시지없이 실행되었으며 작성하려고하는 inject.bin이 이제 디렉토리에 있습니다.

도움이 되었기를 바랍니다.


답변

비슷한 문제가 있었고 관리자 권한으로 CMD를 실행하려고했지만 문제를 해결하지 못했습니다.

기본적인 것은 cmd 의 디렉토리 를 jar 파일이있는 현재 디렉토리 로 변경해야한다는 것 입니다.

다음 단계를 수행하십시오.

1. jar 파일을 데스크탑에 복사하십시오.

  1. CMD 실행

  2. 유형 명령 cd desktp

  3. 그런 다음 입력 java -jar filename.jar

이 작동합니다.


편집 : JDK-11부터 ( JEP 330 : 단일 파일 소스 코드 프로그램 시작)

Java 11부터 java 명령 행 도구는 단일 파일 소스 코드를 직접 실행할 수있었습니다. 예 :

java filename.java