"Unable to access jarfile" 오류의 원인은 무엇입니까?
IDE를 사용하지 않고 프로그램을 실행하고 싶다.항아리 파일과 아주 귀중한 항아리 파일을 만들어 놨어요exe jar 파일을 더블 클릭해도 아무 일도 일어나지 않고 cmd 단위의 명령어를 사용하려고 하면 다음과 같이 표시됩니다.
Error: Unable to access jarfile <path>
합니다. '하다, 다, 다, i, ijava -jar Calculator.jar
항아리 작성 방법:
- 프로젝트 폴더 우클릭(계산기)
- 선택한다.
- Java 폴더를 클릭하고 "Excellective Jar File"을 선택한 후 다음을 선택합니다.
- 기동 설정:메인 - 계산기
- 내보내기 대상 생성
- "완료"를 눌러 수익을 올리십시오!글쎄, 그렇진 않아.
Jar 파일을 실행했을 때 이 문제가 발생했습니다.
java -jar TestJar
대신
java -jar TestJar.jar
확장자 .jar가 누락된 경우에도 이 문제가 발생합니다.
고정된.
그냥 다른 폴더에 넣었더니 작동했어요.
[Windows 전용일 수 있습니다]
항아리가 현재 작업 디렉토리에 있는 경우에도 경로의 공백에 주의하십시오.예를 들어, 저는 이것이 실패했다고 생각합니다.
java -jar myjar.jar
병에 대한 전체 인용 경로를 알려줌으로써 이 문제를 해결할 수 있었습니다.
java -jar "%~dp0\myjar.jar"
나를 올바른 길로 인도해 준 것은 이 대답 덕분이다.
Windows g CygWin windows windows windows 。 경로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단계
문제의 jar 파일을 오른쪽 클릭합니다.속성을 클릭합니다.오른쪽 아래 구석에 있는 차단 해제 탭을 클릭합니다.파일이 다운로드되었지만 PC에서 생성되지 않았기 때문에 차단되었습니다.
두 번째 단계
cmd에서 디렉토리를 jar 파일이 있는 곳으로 변경했습니다.
cd C:\fw\ducky\
다음 '아까부터'라고 했습니다.dir
은 'CHANGE'로 되어 있습니다.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 파일이 있는 현재의 디렉토리로 변경하는 것입니다.
다음의 순서를 실행합니다.
jar 파일을 데스크톱에 복사합니다.
CMD 실행
명령어유형 " "
cd desktop
다음 '나다'를 입력합니다.
java -jar filename.jar
이거면 될 거야.
편집: JDK-11 이후 (JEP 330: 싱글 파일 소스 코드 프로그램 실행)
Java 11 이후 Java 명령줄 도구는 단일 파일 소스 코드를 직접 실행할 수 있습니다.
java filename.java
OSX를 사용하는 경우 다운로드된 파일에는 서명되지 않은 응용 프로그램이 실행되지 않도록 하는 보안 플래그가 지정됩니다.
이것을 확인하려면 , 파일의 확장 속성을 표시할 수 있습니다.
$ ls -l@
-rw-r--r--@ 1 dave staff 17663235 13 Oct 11:08 server-0.28.2-java8.jar
com.apple.metadata:kMDItemWhereFroms 619
com.apple.quarantine 68
다음으로 Atribute를 클리어 할 수 있습니다.
xattr -c file.jar
MacOS 11 Big Sur에서는 제공된 답변 중 어느 것도 작동하지 않았습니다.문제는 프로그램이 데스크톱, 문서 및 다운로드 폴더에 액세스하기 위해 특별한 권한이 필요하며 Java는 직접 열린 파일의 예외와 권한 요청 팝업을 모두 해제한다는 것입니다.
수정:
- .jar를 Documents, Desktop 또는 Downloads(문서, 데스크톱 또는 다운로드)가 아닌 폴더로 이동합니다.
- 수동으로 권한을 부여합니다.System Preferences(시스템 기본 설정) → Security and Privacy(보안 및 개인 정보) → Privacy(개인 정보) → Files and Folders(파일 및 폴더) → java(자바)로 이동하여 해당 폴더를 확인합니다.
이건 나한테 효과가 있었어.
cd /path/to/the/jar/
java -jar ./Calculator.jar
매개 변수 목록을 제대로 제공하지 않은 경우에도 발생할 수 있습니다.제가 하고 있던 일은 이렇습니다.
java -jar test@gmail.com testing_subject file.txt test_send_emails.jar
올바른 버전 대신:
java -jar test_send_emails.jar test@gmail.com testing_subject file.txt
PATH에 있는 폴더 이름에 폴란드 원어민 문자를 사용하면 발생합니다.그래서 아마도 일반적인 문자가 아닌 문자를 사용한 것이 문제의 원인일 것입니다.
Android Studio에서 /libs 폴더에 .jar 파일을 마우스 오른쪽 버튼으로 클릭하여 실행(실행 또는 작성)하려고 할 때 발생할 수 있습니다.Android stuio 상단에 있는 드롭다운을 선택하여 앱으로 변경할 수 있습니다.이거면 될 거야
특히 심볼릭 링크(바로가기)를 포함한 디렉토리로 작업하고 있었기 때문에 문제가 발생했습니다. 결과, 그,,,력, consequ다다 consequ consequ consequ consequ consequ consequ consequjava -jar ../../myJar.jar
제가 생각했던 곳에 없어서 효과가 없었어요
상대 파일 경로를 무시하면 바로 수정됩니다.
은 제우 name name name name name name name in in in in 。jarFile*.jar
커맨드 라인에 표시됩니다.은 「 」입니다.jarFile-1.2.3.jar
jarFile
나서 나는 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★jarFile.jar
대신jarFile*.jar
그리고 나서 문제가 해결되었다.
폴더 이름에 공백이 있는 경우 윈도우즈 시스템에서 발생할 수 있습니다.해결책은 " " 사이의 경로를 입력하는 것입니다.다음은 예를 제시하겠습니다.
java -jar c:\my folder\x.jar -->
java -jar "c:\my folder\x.jar"
권한 문제를 방지하려면 관리자 권한으로 실행해 보십시오.Win10에서는 이게 먹혔어요.
이 스레드가 몇 년 전이고 문제 또한 해결된 것으로 알고 있습니다.그러나 설치 관리자가 있는 Oracle WebLogic 12c와 Oracle OFR을 설치하려고 할 때 비슷한 문제가 발생했기 때문에 앞으로 다른 사용자에게 도움이 되었으면 합니다..jar
포맷합니다.제 경우 JDK 디렉토리를 따옴표로 감싸지 않았거나 단순히 오타가 있었습니다.
달려.Command Prompt
administrator로서 이 형식으로 명령어를 실행합니다.오타가 있으면 문장을 다시 한 번 확인해 보세요.
"C:\Program Files\Java\jdk1.xxxxx\bin\java" -jar C:\Users\xxx\Downloads\xxx.jar
이런 걸 보여주면JRE 1.xxx is not a valid JDK Java Home
의 시스템 변수를 확인합니다.JAVA_HOME
환경변수가 올바른 JDK 디렉토리를 가리키고 있습니다.JDK 1.8 이후를 권장합니다(2018).
유용한 스레드는 다음과 같습니다.Web Logic 서버 설치 중 JDK c:program files\java\jre7이 유효한 JDK가 아닌 이유는 무엇입니까?
TextMate 같은 것이 큰따옴표를 유니코드 큰따옴표로 대체하는 것과 비슷한 문제가 있었습니다.
나의 변경SELENIUM_SERVER_JAR
유니코드 큰따옴표부터 일반 큰따옴표까지 제 고민을 해결해 주셨어요.
이는 잘못된 경로 1에서 파일을 찾고 있기 때문입니다. 파일 2를 배치한 폴더의 경로를 찾습니다. cmd에서 디렉토리 cd를 변경합니다. 올바른 경로 사용
NetBeans 를 사용하고 있습니다만, 같은 문제가 있었습니다.빌드 앤 클린 프로젝트를 실행한 후 프로그램이 실행 가능했습니다.Java 문서에 따르면 build/clean 명령어는 기본적으로 프로젝트를 처음부터 재구축하고 과거 컴파일을 모두 삭제합니다.이게 도움이 됐으면 좋겠어요.그리고, 나는 그 문서를 읽었을 것이다.Oracle에는 NetBeans 및 Java 학습 경로가 있습니다.큰 도움이 됩니다.행운을 빕니다.
잘못된 버전의 항아리를 지정했을 수 있습니다.
마지막으로 jar 파일을 JDK와 같은 폴더에 붙여넣었기 때문에 경로를 포함할 필요가 없었습니다.관리자 권한으로 명령 프롬프트도 열어야 했습니다.
- 명령 프롬프트 우클릭 후 "관리자로서 실행"
- jdk를 저장한 디렉토리로 이동합니다.
- 과 같이 입력합니다.
java.exe -jar <jar file name>.jar
파일을 추출하는 디렉토리와 같은 디렉토리에 보관합니다.나한테는 효과가 있었어.
이 jar를 작성하기 위해 사용되는 컴파일된 java 버전(8)이 아닌 기본 java 버전(7)으로 실행했기 때문에 발생합니다.
그래서 사용:
%Java8_64%\bin\java -jar myjar.jar
Java 7 버전 대신:
java -jar myjar.jar
이것은 권한 문제입니다. 디렉토리가 사용자 아래에 있는지 확인합니다.그래서 다른 폴더에서 작업하는 거야!
관리자 권한으로 실행해 본 적이 있습니까? 즉, "다른 이름으로 실행"에서 명령을 실행한 후 적절한 관리자 자격 증명을 가진 관리자를 선택합니다.
나를 위해 일했다
난 이걸 시도했어:
파일 읽기, 쓰기, 권한 실행:
chmod 777 java-repl.jar
alias jr="java -jar $HOME/Dev/java-repl/java-repl.jar"
bla bla에 접속할 수 없습니다.Mac OS에서 접속하고 있었습니다만,
그래서 이렇게 해봤어요
alias jr="cd $HOME/Dev/java-repl/ && java -jar java-repl.jar"
"Jarfile에 액세스할 수 없음"이 작동하지 않았습니다.
"C:\Program Files\java\jdk-13+33-jre\bin\javaw.exe" -jar "C:\Program Files\Maxim Integrated Products\1-Wire Drivers x64\ OneWireViewer.jar"
이것은 효과가 있다.
"C:\Program Files\java\jdk-13+33-jre\bin\javaw.exe" -jar "C:\Program Files\Maxim Integrated Products\1-Wire Drivers x64\OneWireViewer.jar"
차이점은 OneWireViewer.jar 앞에 있는 단일 공간은 따옴표로 둘러싸여 있고 다른 공간도 있다는 것입니다.
WSL에 접속하고 있는 경우, 다음과 같이 기재되어 있는 가이드에 따릅니다.
java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb
.java.library.path
syslog.syslog.
java -Djava.library.path=/mnt/c/dynamodb_local/DynamoDBLocal_lib -jar /mnt/c/dynamodb_local/DynamoDBLocal.jar -sharedDb
언급URL : https://stackoverflow.com/questions/11943948/what-causes-unable-to-access-jarfile-error
'programing' 카테고리의 다른 글
구조 이니셜라이저에서 점(.)은 무엇을 의미합니까? (0) | 2022.07.10 |
---|---|
Set을 String으로 변환하는 방법[ ] (0) | 2022.07.10 |
Java 웹 앱에서 UTF-8을 작동시키는 방법 (0) | 2022.07.10 |
Python에서 C/C++를 호출하시겠습니까? (0) | 2022.07.10 |
노드 모듈이 있는 경우 '@vue/cli-plugin-babel' 모듈 때문에 vue-cli-service가 충돌할 수 있습니까? (0) | 2022.07.10 |