[질문] 실행가능한 jar파일에 대한 문의입니다..아..어렵네영..
별하
WebStart를 이용해 프로그램을 작성하던중 막히는 부분이 있어서
이렇게 글을 띄웁니다.. 지금 4일째 해메네요..ㅜㅠ;;
제가 작성한 프로그램은 Swing으로 짠 DB manager인데여..
(말만 거창합니다.. ㅡㅡ;;)
WebServer에서 webstart를 이용해 jar파일을 내려받아 Gui실행 후
url과 id, pw, DB종류를 입력하면 해당하는 DB의 JDBC드라이버를 찾아
Connection을 맺고 쿼리를 실행하게 만들었습니다..
경과를 말씀드리면..
첨에 소스를 패키지 컴파일 한 뒤에 JDBC-Driver jar파일과 패키지를
manifest파일을 이용해서 실행가능한 jar파일로 다시 묶었습니다..
(어느장소에서 DB와 연결을 맺을 있도록 하기위해 driver를 같이 묶었습니다..
물론 jre가 깔려있다는 전제가 있어야 하지만여.. ㅡㅡ;;)
그리고 ketool과 jarsigner로 sign후 실행을 했는데여..
로컬상에서 jar파일 테스트시(sign 후) 아무 이상이 없었습니다..
그런데 원격지만 다녀오면(ftp로 올렸다 받는다던가..등등..)DB와
연결을 맺지 못합니다..
이리저리 해보니 두가지의 차이점을 발견했습니다..로컬에서 작성 sign후 로컬 실행 - double click : 정상작동
java -jar로 실행 : 정상작동
위와동일하고 원격지에 다녀온 파일실행 - double click : Gui폼만 뜨고 jar내의 JDBC드라이버와
연결 맺지못함.
java -jar로 실행 : 정상작동생각끝에 내린 제 결론은 역시나 인증문제 같습니다..
일반 jar파일이 아닌 실행가능한 jar를 만들시에 보안문제가 걸리는것 같습니다..
만약 그 안에 악성코드가 들어갈 위험요소가 있기때문에 그런것 같은데요..
아마 그때문에 같은파일을 원격지로 올렸다 다운받았을 뿐임에도 불구하고 정상작동을
하지 못하는것이 아닐까요?
제가 작성했던 jnlp관련 servlet파일과 패키지 소스파일, JDBC-Driver(mysql) jar파일,
인증시 썼던 명령문을 같이 올립니다..