2011-03-15 7 views
0

Eclipse 제품을 개발 중입니다. 내 플러그인에서 실행할 필요가있는 실행 파일 (.exe)을 추가했습니다. 이클립스에서 제품을 실행할 때 파일은 내 파일 시스템에서 실행 파일의 경로를 사용하여 참조되며 모두 괜찮아졌습니다.Eclipse에서 jar 파일을 실행합니다.

제품을 내보낼 때 플러그인은 실행 파일이 들어있는 jar 파일로 패키지되어 있습니다. 파일을 참조 할 때 경로는 다음과 같습니다.

$path_to_the_plugin_jar!/$path_to_exe_file_inside_the_jar 

이 경로를 사용하여 예외 발생. 예외 발생.

jar 파일 내부의 파일을 어떻게 참조 할 수 있습니까? 어떻게 파일을 실행할 수 있습니까?

이클립스로 제품을 내보낼 때 파일을 추출 할 수 있습니까?

감사합니다.

답변

0

감사합니다.

나는 Konstantin Komissarchik이 제안한대로 제품을 플러그인 기반에서 기능 기반으로 변환하여 feature.xml 파일에서 플러그인의 "Unpack ...."을 지정하여 해결했습니다.

제품을 내 보내면 플러그인이 폴더에서 폭발하며 필요한 파일을 참조 할 수 있습니다.

3

EXE 파일은 Windows에서 실행해야합니다. 모든 실제적인 목적을 위해 jar 파일은 zip 파일이므로 기본적으로 Windows에서 ZIP 파일로 EXE 파일을 실행하는 방법을 알아야합니다.

그런 기능은 존재하지 않으므로 EXE 파일을 임시 위치에 추출하여 거기에서 실행해야합니다.

+1

또는 설치시 플러그인이 확장되도록 표시 할 수 있습니다. 이 기능을 사용하면됩니다. 이 경우 플러그인 항아리 대신 플러그인 디렉토리가 생깁니다. –

+0

힌트를 주셔서 감사합니다! 이것은 아마도 해결책 일 것입니다.하지만 어떻게 ecplipse에 플러그인을 폭발시킬 수 있습니까? – hara

0

실행하기 전에 파일을 번들 상태 위치에 압축을 풀 수 있습니다. 그런 일 :

InputStream stream = FileLoactor.openStream(myBundle, new Path("path/to/exe/") 
IPath pathUnpacked = myBundle.getStateLocation().append("myExe.exe"); 
writeToDisk(stream, pathUnpacked); 
Program.launch(pathUnpacked.toOSString()); 

HTH 톰 귀하의 답변

관련 문제