2011-11-02 3 views
0

내 Eclipse 플러그인 프로젝트 내에 lib/폴더가 하나 있고이 폴더에 약간의 스크립트가 있습니다 ...하지만 'Eclipse Plugin Project'를 실행하면 그 폴더에 액세스 할 수 없기 때문에 해당 스크립트를 실행할 수 없습니다 ...Eclipse Plugin에서 스크립트를 어떻게 실행합니까?

어떻게 해결할 수 있습니까?

- 사전

답변

1

당신이 클래스 패스에 끝 있도록 src/ 폴더에 놓여져 InputStream 또는 인터프리터에 String을 전달하여 스크립트를 실행하여 얻을 getClass().getClassLoader().getResourceAsStream("script-name")를 사용할 수있는 경우에 감사합니다 InputStream

인터프리터가 외부 (예 : bash 또는 Java Scripting API를 구현하지 않는 것) 인 경우 동일한 작업을 수행하십시오. 스크립트를 실행해야 할 때 스트림을 작성하고 스크립트를 임시 파일로 복사하십시오.

lib/에 스크립트를 보관하는 것은 나쁜 생각입니다. 플러그인을 해제하지 않는 한 플러그인이 단일 JAR 파일로 어셈블되기 때문에 JAR 파일 내부에 스크립트 파일이 생깁니다. 다시 말해 대부분의 인터프리터 사용할 수 없습니다.

클래스 경로를 사용하면 Eclipse에서 데이터의 위치를 ​​파악할 수 있습니다.

+0

사실, "스크립트"는 이진 파일 (실행 파일)입니다 ... 스트림을 만들고 이진 파일을 임시 실행 파일로 복사하려면 어떻게해야합니까?! – josecampos

+0

'File.createTempFile()'로 임시 파일을 만들고,'OutputStream'을 열고, 클래스 패스에서 가져온'InputStream'을 복사하십시오 (위의 코드 참조). –

+0

예, 작동합니다 ... 아론 감사합니다. – josecampos

관련 문제