Отражение Java с помощью Java-процесса
У меня есть процесс, который является приложением Java, который был создан из ProcessBuilder, выполнив команду, как java -Xms1024M -jar my.jar
, Это работает фантастически, но приложение, которое я запустил, не использует System.in
для его ввода, поэтому я не могу использовать process.getOutputStream()
,
Как я могу получить экземпляр запущенного приложения из процесса, чтобы использовать Java Reflection для отправки ввода? Если я не могу, как бы я использовал Java Reflection, чтобы запустить приложение из моего запускаемого приложения, а затем использовать Java Reflection, чтобы получить то, с чем я могу работать.
Чтобы быть более конкретным, я пытаюсь сделать это для BungeeCord.
- Основной класс
net.md_5.bungee.Bootstrap
, - Bootstrap вызывает статический метод
main
вnet.md_5.bungee.BungeeCordLauncher
, - BungeeCordLauncher создает экземпляр
net.md_5.bungee
и помещает этот экземпляр в статическое поле с именемinstance
вnet.md_5.bungee.api.ProxyServer
И есть метод get (Может быть, это можно использовать для отражения Java?) - внутри
BungeeCord.class
есть метод, называемыйgetConsoleReader()
и это то, что мне в конечном итоге нужно получить, и мне нужен его текущий экземпляр для этого конкретного процесса.
Спасибо за любую помощь!