자바 실행 가능 한 파일 로 압축
다음은 어떤 도구 도 빌 릴 필요 가 없 는 실현 방식 이다.
1.eclipse 에서 포장 해 야 할 종 류 를 class 파일 로 컴 파일 합 니 다.
2.클래스 의 루트 폴 더 아래 에 파일 MANIFEST.MF 를 새로 만 들 고 폴 더 lib 를 새로 만 듭 니 다.인 용 된 다른 jar 패 키 지 를 lib 에 복사 합 니 다.
그 디 렉 터 리 구 조 는 다음 과 같다.
+bin
-----MANIFEST.MF
-----lib
+인용 패키지 1
+인용 패키지 2
-----com(컴 파일 된 클래스 디 렉 터 리)
--smartdot
--cip
--같은 종류
--둘째
MANIFEST.MF 소개:JAR 파일 의 내용 설명 을 포함 하고 실행 할 때 JVM 에 프로그램 정 보 를 제공 합 니 다.대부분의 JAR 파일 은 기본 으로 생 성 된 manifest 파일 을 포함 하고 있 습 니 다.여기 서 저 희 는 이 파일 이 실 행 될 때의 main class 와 main class 가 실 행 될 때 인용 해 야 할 jar 패 키 지 를 지정 합 니 다.
그 내용 은:
Main-Class: com.smartdot.expinitdata.ExportCIPData
Class-Path: ./lib/ChineseTransform.jar ./lib/classes12.jar ./lib/commons-lang-2.1.jar ./lib/commons-logging.jar ./lib/j2ee.jar ./lib/ojdbc14.jar
Manifest-Version: 1.0
MANIFEST.MF 파일 은 클래스-Path 와 같은 오류 가 자주 발생 합 니 다. 맨 뒤에 놓 으 면 생 성 된 jar 파일 의 MANIFEST.MF 에는 Class-Path 가 없습니다.인터넷 에서 많은 사람들 이 이 문 제 를 물 었 지만 문제 의 원인 을 찾 지 못 했 습 니 다.해결 방법 은 Class-Path 를 Manifest-Version 에 쓰 면 됩 니 다.자바 영문 문서 에 가서 원인 을 찾 아 보 세 요.
위의 MANIFEST.MF 가 지정 한 class-path 는 두 번 째 파일 구조 에서 lib 의 저장 위치 에 따라 지정 되 며 당연히 수정 할 수 있 습 니 다.
3.명령 행 에서 jar 패키지 실행
jar cvfm init.jar MANIFEST.MF com
물론 현재 디 렉 터 리 를 두 번 째 빈 으로 가 리 켜 야 합 니 다. 클래스 파일 의 루트 디 렉 터 리 아래
처음에 제 가 사용 한 것 은 jar cvfm init.jar MANIFEST.MF com/입 니 다.이 명령 은 생 JAR 의 디 렉 터 리 에 문제 가 있 습 니 다.com 의 하위 디 렉 터 리 이름 앞 에 항상/가 있 습 니 다. , 그래서 자꾸 main class 를 못 찾 겠 다 고'/'를 지 웠 으 면 좋 겠 어 요.
넷 째,bat 파일 작성
bat 파일 은 간단 합 니 다.3 마디 만 필요 합 니 다.현재 경 로 를 컴 파일 된 jar 패키지 로 지정 하기 때문에 디 렉 터 리 에서 자바 를 실행 합 니 다.
cd e:\patentOfficeData\bin
java -jar init.jar
pause
제 이해 에 서 는 생 성 된 jar 에서 더 블 클릭 으로 실행 할 수 있 을 것 입 니 다.bat 파일 을 만 들 지 않 고 jar 패 키 지 를 더 블 클릭 하면 자바 프로 세 스 를 시작 할 수 있 지만 실행 중인 인터페이스 와 출력 문 구 를 볼 수 없습니다.제 이해 가 잘못 되 었 습 니까?
이식
다른 기기 에서 이 main class 를 실행 하려 면 폴 더 를 만들어 야 합 니 다.파일 이 3 개 필요 합 니 다.
-----폴 더
+다 된 jar 파일
+lib 디 렉 터 리(인 용 된 jar 저장)
+bat 파일
이 큰 폴 더 만 복사 하면 됩 니 다.
이식 할 때 새 기계 의 디 렉 터 리 e:\patent Office Data\bin 디 렉 터 리 가 존재 해 야 합 니 다.그렇지 않 으 면 오류 가 발생 할 수 있 습 니 다.그래서 포장 을 시작 하 자마자 비교적 간단 한 경 로 를 찾 아 클래스 의 루트 경 로 를 찾 는 것 을 권장 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.