자바 실행 가능 한 파일 로 압축

2991 단어 자바eclipsejvm
자바 응용 개발 에서 자바 컴 파일 완료 파일 생 성 클래스 파일 은 명령 행 에서 자바 명령 으로 실행 할 수 있 습 니 다.그러나 이것 은 매우 번 거 롭 습 니 다.일반적인 자바 프로그램 은 독립 된 응용 프로그램 이 아니 기 때문에 다른 jar 를 참조 합 니 다. 가방,그래서 매번 사용 하기에 편리 하도록 exe 나 bat 로 포장 하 는 방식 입 니 다.
다음은 어떤 도구 도 빌 릴 필요 가 없 는 실현 방식 이다.
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 디 렉 터 리 가 존재 해 야 합 니 다.그렇지 않 으 면 오류 가 발생 할 수 있 습 니 다.그래서 포장 을 시작 하 자마자 비교적 간단 한 경 로 를 찾 아 클래스 의 루트 경 로 를 찾 는 것 을 권장 합 니 다.
 
 

좋은 웹페이지 즐겨찾기