Правильный способ обращения к tools.jar кроссплатформенным способом

Я создаю инструмент диагностики JVM и подключаюсь к JVM с помощью JMX. Проблема, с которой я здесь сталкиваюсь, заключается в том, что мне нужно иметь возможность загружать tools.jar таким образом, чтобы он был совместим с Unix и Windows, в настоящее время Я использую сгенерированные gradle сценарии запуска для загрузки tools.jar к пути к классам, но, похоже, этот метод зависит от слишком многих факторов.

Кто-нибудь знает рекомендуемый или изящный способ сделать эту банку доступной на пути к классам, даже не догадываясь, где она?

1 ответ

Решение

ToolProvider.getSystemToolClassLoader()

Это возвращает экземпляр ClassLoader что известно о tools.jar,
Если вы хотите точный путь, используйте

    ((URLClassLoader) ToolProvider.getSystemToolClassLoader()).getURLs()
Другие вопросы по тегам