HelloWorld를 .jar 파일에 넣고 실행하려고했지만 작동하지 않습니다. 나는 자바 파일을 만들고 프로그램에 타이핑 한 다음 cmd로 썼다 :.jar 오류 - 메인 클래스를 찾거나로드 할 수 없습니다.
그리고 그것은 효과가있다. 그럼 난
echo Main-Class: HelloWorld >manifest.txt
jar cvfm HelloWorld.jar manifest.txt HelloWorld.class
를 입력하고 난 다음
java -jar HelloWorld.jar
HelloWorld.jar
를 입력하고 두 번째 줄은 나에게 오류 준 상태에서 첫 번째 줄, 일
added manifest
adding: HelloWorld.class(in = 426) (out= 288)(deflated 32%)
출력을 가지고 :
Error: Could not find or load main class path\HelloWorld.jar
을
동일한 ou입니다. tput 64 비트 jre7 \ bin, jdk1.7.0_51 \ bin, jdk1.7.0_51 \ jre \ bin의 java.exe 파일과 32 비트의 java.exe 파일로 열려고했을 때 (빠르게 닫는 창에서) jre7 \ bin. jre와 jdk를 모두 제거하고 다시 설치하고 .class 및 .jar 파일을 다시 만들었지 만 문제는 계속 발생합니다. 나는 win8에있다.
편집 : 나는 aetheria 제안대로하려고했지만 운이 없습니다. 나는 사용자 \의 blrp \ 경로 \ COM \ 유래에 HelloWorld.java를 넣어 그것을 컴파일, 그리고 경로에
java com.stackoverflow.user.blrp.HelloWorld
를 입력했다. 나는 그때까지 매니페스트 및 항아리 생성 :
(echo Manifest-Version: 1.0
echo Class-Path: .
echo Main-Class: com.stackoverflow.user.blrp.HelloWorld) >manifest.txt
jar cvfm HelloWorld.jar manifest.txt com\stackoverflow\user\blrp\HelloWorld.class
를 출력
added manifest
adding: com/stackoverflow/user/blrp/HelloWorld.class(in = 454) (out= 312)(deflat
ed 31%)
을 가지고 있지만, 여전히 례 HelloWorld.jar -jar 자바 근무 례 HelloWorld.jar는 (같은 오류)하지 않았다. 나도 패키지 물건을하지 않으려 고 노력했다. 단지 클래스 경로 만이 매니페스트와 같은 결과였다.
은 (또한, 나는 전에 박쥐 파일을 사용하여 질문에 문제를 해결하지만, 아직도 그 항아리 작업을 얻을 달콤한 될 것입니다.)
manifest는 /META-INF/MANIFEST.MF로 패키징되어야합니다. 예를 들어 jre/lib/rt.jar을 확인하려면 모든 jar 파일을 압축 해제하십시오. – jbaliuka
매니페스트의 끝까지 빈 줄을 인쇄하면 작동합니다. – jbaliuka
echo는 빈 줄을 자동으로 만듭니다 (빈 줄이 없으면 java -jar도 작동하지 않음). jar 파일을 만들 때 매니페스트가 올바르게 패키지됩니다. – Blrp