반응형
jar 파일 생성 시 MANIFEST.MF 작성
JAVA 2009/03/05 08:56파일 위치 및 명령어 실행 위치 현황
D:\Java_EXE \
● META-INF 폴더는 root 폴더 바로 아래에 만든다.
( src 등 기타 위치에 생성하는 건 의미없다.
eclipse에서 export를 통해 jar를 만들 때 root 폴더가 아닌 곳에 만든 manifest.mf를 참조할 경우
eclipse가 root 폴더 아래 새로 만들기 때문에 실행 파일 설정이 정상적으로 이뤄지지 않는다. )
root\META-INF 밑에 MANIFEST.MF 만들어서 아래 내용 추가하고, Export 할 때 manifest.mf를 추가해 준다. (eclipse에서 작업해야 Resource is out of sync ~~~ 안 뜬다. 뜨면 한 번 열어서 읽어 준다.)
MANIFEST.MF 파일 내용
Class-Path: lib/swt.jar ← jar 파일 내부 폴더에 둔다.
그 외 참조할 class가 있으면 그 위치를 적어준다. 구분자는 ' '
이 예제의 경우, swt.jar 를 제외한 모든 class가 메인 클래스와 같은 src 하부에 있어서 추가없음.
Class-Path는 72자까지만 됨.
Class-Path는 외부 경로(local)만 가능함. Jar 내부나, Internet 등으로 접근하는 Jar는 참조할 수 없음.
Main-Class: src.ManageGenealogy ← 실행 파일 경로 및 파일 명
D:\Java_EXE \
└Genealogy2 \ ←명령어 실행 위치
└data
└lib ← swt.jar 위치
└META-INF (folder)
└src ← 실행 파일 위치(package)
└lib ← swt.jar 위치
└META-INF (folder)
└src ← 실행 파일 위치(package)
● META-INF 폴더는 root 폴더 바로 아래에 만든다.
( src 등 기타 위치에 생성하는 건 의미없다.
eclipse에서 export를 통해 jar를 만들 때 root 폴더가 아닌 곳에 만든 manifest.mf를 참조할 경우
eclipse가 root 폴더 아래 새로 만들기 때문에 실행 파일 설정이 정상적으로 이뤄지지 않는다. )
root\META-INF 밑에 MANIFEST.MF 만들어서 아래 내용 추가하고, Export 할 때 manifest.mf를 추가해 준다. (eclipse에서 작업해야 Resource is out of sync ~~~ 안 뜬다. 뜨면 한 번 열어서 읽어 준다.)
MANIFEST.MF 파일 내용
Manifest-Version: 0.1
Class-Path: lib/swt.jar
Main-Class: src.ManageGenealogy
Class-Path: lib/swt.jar
Main-Class: src.ManageGenealogy
Class-Path: lib/swt.jar ← jar 파일 내부 폴더에 둔다.
그 외 참조할 class가 있으면 그 위치를 적어준다. 구분자는 ' '
이 예제의 경우, swt.jar 를 제외한 모든 class가 메인 클래스와 같은 src 하부에 있어서 추가없음.
Class-Path는 72자까지만 됨.
Class-Path는 외부 경로(local)만 가능함. Jar 내부나, Internet 등으로 접근하는 Jar는 참조할 수 없음.
(-> 내가 만든 jar 안에 내가 참조할 외부 jar를 넣고, Class-Path에 잡아주어도 참조하지 못한다.
참조하려면 1. 참조할 jar를 풀어서 내 jar 안에 넣고, sealed 처리하던가
2. 외부에 참조할 jar를 위치시키고 class-path에 경로를 잡아준다.
참조하려면 1. 참조할 jar를 풀어서 내 jar 안에 넣고, sealed 처리하던가
2. 외부에 참조할 jar를 위치시키고 class-path에 경로를 잡아준다.
Main-Class: src.ManageGenealogy ← 실행 파일 경로 및 파일 명
jar 파일을 실행 가능하게 만든다.
실행 명령어 : java -jar Genealogy.jar
실행 명령어 : java -jar Genealogy.jar
※ 주의사항 :
1. MANIFEST.MF 내에서 다른 class, directory, jar를 참조할 때는 경로 정보를 입력할 때 '/'를 사용한다.
(경우에 따라서 '\'를 쓰게 되는 경우도 있으니 아래 Exception 발생 시 경로를 수정해 볼 것.
Exception in thread "main" java.lang.NoClassDefFoundError: aaa/bbb/ccc )
2. 각 'attirbute :' 다음에 공백 한 칸 둘 것. (ex 'Class-Path: ')
3. Main-Class attribute 다음에 carrage return(엔터) 하나 둘 것. 안 그러면 실행 시 main class를 인식 못 함.
참조 : http://www.ibm.com/developerworks/kr/library/j-jar/index.html
1. MANIFEST.MF 내에서 다른 class, directory, jar를 참조할 때는 경로 정보를 입력할 때 '/'를 사용한다.
(경우에 따라서 '\'를 쓰게 되는 경우도 있으니 아래 Exception 발생 시 경로를 수정해 볼 것.
Exception in thread "main" java.lang.NoClassDefFoundError: aaa/bbb/ccc )
2. 각 'attirbute :' 다음에 공백 한 칸 둘 것. (ex 'Class-Path: ')
3. Main-Class attribute 다음에 carrage return(엔터) 하나 둘 것. 안 그러면 실행 시 main class를 인식 못 함.
참조 : http://www.ibm.com/developerworks/kr/library/j-jar/index.html
http://java.sun.com/docs/books/tutorial/deployment/jar/basicsindex.html
http://blog.naver.com/echris7?Redirect=Log&logNo=140012585340
http://blog.naver.com/echris7?Redirect=Log&logNo=140012585340
관련 글 : http://digicom.tistory.com/165
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
...
로컬에 있는 jre를 지우고 테스트 해보기.
"C:\Program Files\Java\jre1.5.0_14\bin\java.exe"
http://myfact.tistory.com/tag/%EB%B0%B0%ED%8F%AC
installFactory 활용해 보기.
installFactory : http://jhjang.egloos.com/2369910
환경변수 자동 추가(jre를 하나 설치 경로에 설치한 후 그걸 install 파일에 추가하고, 대신 환경변수 설정만 batch 파일로 만들어서 설치 전 실행 파일로 등록시키면 굳이 jre를 설치하지 않아도 되지 않을까?
(물론 시스템에 있는 jre를 쓰고 없으면 설치하게 하는 것도 좋지만, 자동 설치 테스트해보고 안되면 이렇게!!!)
- http://www.okjsp.pe.kr/seq/96625
-http://moai.tistory.com/entry/%ED%99%98%EA%B2%BD%EB%B3%80%EC%88%98%EB%A5%BC-%EC%9E%90%EB%8F%99%EC%9C%BC%EB%A1%9C-%EC%B6%94%EA%B0%80%ED%95%98%EC%9E%90
"C:\Program Files\Java\jre1.5.0_14\bin\java.exe"
http://myfact.tistory.com/tag/%EB%B0%B0%ED%8F%AC
installFactory 활용해 보기.
installFactory : http://jhjang.egloos.com/2369910
환경변수 자동 추가(jre를 하나 설치 경로에 설치한 후 그걸 install 파일에 추가하고, 대신 환경변수 설정만 batch 파일로 만들어서 설치 전 실행 파일로 등록시키면 굳이 jre를 설치하지 않아도 되지 않을까?
(물론 시스템에 있는 jre를 쓰고 없으면 설치하게 하는 것도 좋지만, 자동 설치 테스트해보고 안되면 이렇게!!!)
- http://www.okjsp.pe.kr/seq/96625
-http://moai.tistory.com/entry/%ED%99%98%EA%B2%BD%EB%B3%80%EC%88%98%EB%A5%BC-%EC%9E%90%EB%8F%99%EC%9C%BC%EB%A1%9C-%EC%B6%94%EA%B0%80%ED%95%98%EC%9E%90