Большинство вопросов, связанных с удаленной отладкой, относятся ко всему java-приложению, из которого у вас есть код в вашей IDE.
В этом случае у меня нет доступа к полному приложению, только к фрагментам кода, файлам .jar, которые впоследствии встраиваются в более крупное приложение, которое в конечном итоге вызывает их и выполняет их код.
В отличие от большого приложения, эти файлы .jar, которые я разрабатываю, не содержат метод:
public static void main(string[] args)
.jar-файлы реализуют интерфейс процессора Camel, который вызывается, когда для конфигурации требуется определенный фрагмент кода.
Я пытаюсь настроить удаленную отладку eclipse только для встроенных файлов .jar. Это означает, что как только код файла .jar будет запущен, затмение IDE начнет процесс отладки.
Что я пробовал до сих пор:
Я попытался запустить файл .jar в режиме отладки:
java -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y -jar mycode.jar
После этого начинается:
Listening for transport dt_socket at address: 8000
Хотя, как указано выше, это не полное приложение Java, и как только я пытаюсь подключить к нему удаленную конфигурацию в Eclipse, я получаю сообщение об ошибке:
no main manifest attribute, in mycode.jar
как уже говорилось, это имело смысл для меня, потому что у меня нет основного класса.
Теперь можно ли отладить файл .jar только при его вызове, даже если отсутствует основной класс?