Я создаю простой плагин для чтения значения из целевой консоли. Для этого я написал следующий код.
private MessageConsole findConsole(String name) {
ConsolePlugin plugin = ConsolePlugin.getDefault();
IConsoleManager conMan = plugin.getConsoleManager();
MessageConsole myConsole = new MessageConsole(name, null);
conMan.addConsoles(new IConsole[] { myConsole });
return myConsole;
}
/**
* the command has been executed, so extract extract the needed information
* from the application context.
*/
public Object execute(ExecutionEvent event) throws ExecutionException {
IWorkbenchWindow window = HandlerUtil
.getActiveWorkbenchWindowChecked(event);
String CONSOLE_NAME = window.getShell().getText();
MessageConsole myConsole = findConsole(CONSOLE_NAME);
out = myConsole.newMessageStream();
out.println("Hello from Generic console sample action");
myConsole.activate();
myConsole.initialize();
IOConsoleInputStream aa = myConsole.getInputStream();
InputStream iStream = myConsole.getInputStream();
BufferedReader buf = new BufferedReader(new InputStreamReader(iStream));
try {
String a = buf.readLine();
out.println(a);
ATGHandler.main(null);
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
return null;
}
Генерирует исключение: "jar этого файла класса принадлежит контейнеру" зависимостей плагина ", который не позволяет модифицировать исходные вложения для его записей"
Пожалуйста, помогите мне выйти из этой проблемы.