2010. 6. 29. 15:28
- java web start로 app.를 배포하려고 함.
- Launcher.jar 로 묶을때 설정파일 및 이미지 등이 classpath내(jar 파일 안에)에 존재해야함.
- 이미지 초기화 하는 모듈("images/" 디렉토리에서 모든 파일을 읽어와서 이미지 파일만 초기화 시킴)에서 해당 디렉토리를 찾을 수 없다는 오류와 몇몇가지 문제가 발생됨.
문제점
- 디렉토리 디코딩 문제
- eclipse로 개발할때와 jar로 묶었을때 바라보는 경로가 다름.
해결책
사용방법(sample 참조)
- Launcher.jar 로 묶을때 설정파일 및 이미지 등이 classpath내(jar 파일 안에)에 존재해야함.
- 이미지 초기화 하는 모듈("images/" 디렉토리에서 모든 파일을 읽어와서 이미지 파일만 초기화 시킴)에서 해당 디렉토리를 찾을 수 없다는 오류와 몇몇가지 문제가 발생됨.
문제점
- 디렉토리 디코딩 문제
- eclipse로 개발할때와 jar로 묶었을때 바라보는 경로가 다름.
해결책
- eclipse로 개발시
if (dirURL != null && dirURL.getProtocol().equals("file")) {
/* A file path: easy enough */
return new File(dirURL.toURI()).list();
}
- jar로 묶었을때
if (dirURL.getProtocol().equals("jar")) {
// 해당 디렉토리 내 파일목록을 가져옴.
}
if (dirURL != null && dirURL.getProtocol().equals("file")) {
/* A file path: easy enough */
return new File(dirURL.toURI()).list();
}
- jar로 묶었을때
if (dirURL.getProtocol().equals("jar")) {
// 해당 디렉토리 내 파일목록을 가져옴.
}
사용방법(sample 참조)
try {
// path 디렉토리내의 파일 리스트를 가져온다.
String[] fineList = getResourceListing(this.getClass(), path);
} catch(Exception e) {
e.printStackTrace();
}
// path 디렉토리내의 파일 리스트를 가져온다.
String[] fineList = getResourceListing(this.getClass(), path);
} catch(Exception e) {
e.printStackTrace();
}
'java > util' 카테고리의 다른 글
[java] - byte array to float (0) | 2010.06.29 |
---|---|
[java] - byte array to short (0) | 2010.06.29 |
[Reflection] - Value Object 로그 만들자 (0) | 2010.06.28 |
[XML] - Pretty XML print (0) | 2010.06.28 |
[java] - 가변인자(??) (0) | 2010.06.28 |