У меня есть плагин, где я внес вклад в всплывающее меню параметров. Я выскакиваю мастера, чтобы получить пользовательские значения при выборе меню параметров. При получении этих значений я создаю файл .php. Теперь после создания этого php-файла я тоже хочу его выполнить. Код для создания файла следующий
public void editDeploy(String root,String username,String password,String projectName){
IWorkspaceRoot myWorkspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
IProject myProject = myWorkspaceRoot.getProject(projectName);
// open if necessary
if (myProject.exists() && !myProject.isOpen())
try {
myProject.open(null);
} catch (CoreException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
IFile deploy=myProject.getFile("deploy.php");
StringBuilder sb=new StringBuilder();
...Some Code to append in String Builder
String contents=sb.toString();
InputStream source = new ByteArrayInputStream(contents.getBytes());
try {
System.out.println("Entered2");
deploy.create(source, false, null);
System.out.println("Done");
} catch (CoreException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Итак, как я могу выполнить файл deploy.php здесь?
Я не нашел чистого решения, но я могу решить задачу
Runtime.getRuntime().exec("cmd /c start cmd.exe /K \"cd "+dirPath+" && php deploy.php\"");
где dirPath — это каталог, в котором находится deploy.php. Если есть лучший способ, пожалуйста, дайте мне знать.
Других решений пока нет …