내 Eclipse 플러그인 프로젝트 내에 lib/폴더가 하나 있고이 폴더에 약간의 스크립트가 있습니다 ...하지만 'Eclipse Plugin Project'를 실행하면 그 폴더에 액세스 할 수 없기 때문에 해당 스크립트를 실행할 수 없습니다 ...Eclipse Plugin에서 스크립트를 어떻게 실행합니까?
어떻게 해결할 수 있습니까?
- 사전
내 Eclipse 플러그인 프로젝트 내에 lib/폴더가 하나 있고이 폴더에 약간의 스크립트가 있습니다 ...하지만 'Eclipse Plugin Project'를 실행하면 그 폴더에 액세스 할 수 없기 때문에 해당 스크립트를 실행할 수 없습니다 ...Eclipse Plugin에서 스크립트를 어떻게 실행합니까?
어떻게 해결할 수 있습니까?
- 사전
당신이 클래스 패스에 끝 있도록 src/
폴더에 놓여져 InputStream
또는 인터프리터에 String
을 전달하여 스크립트를 실행하여 얻을 getClass().getClassLoader().getResourceAsStream("script-name")
를 사용할 수있는 경우에 감사합니다 InputStream
인터프리터가 외부 (예 : bash
또는 Java Scripting API를 구현하지 않는 것) 인 경우 동일한 작업을 수행하십시오. 스크립트를 실행해야 할 때 스트림을 작성하고 스크립트를 임시 파일로 복사하십시오.
lib/
에 스크립트를 보관하는 것은 나쁜 생각입니다. 플러그인을 해제하지 않는 한 플러그인이 단일 JAR 파일로 어셈블되기 때문에 JAR 파일 내부에 스크립트 파일이 생깁니다. 다시 말해 대부분의 인터프리터 사용할 수 없습니다.
클래스 경로를 사용하면 Eclipse에서 데이터의 위치를 파악할 수 있습니다.
사실, "스크립트"는 이진 파일 (실행 파일)입니다 ... 스트림을 만들고 이진 파일을 임시 실행 파일로 복사하려면 어떻게해야합니까?! – josecampos
'File.createTempFile()'로 임시 파일을 만들고,'OutputStream'을 열고, 클래스 패스에서 가져온'InputStream'을 복사하십시오 (위의 코드 참조). –
예, 작동합니다 ... 아론 감사합니다. – josecampos