Я пишу программу, которая должна знать все классы/банки в своем контексте. Например, если он работает в среде Maven, он должен знать путь ко всем зависимым баночкам в .m2 /. Если он работает в Tomcat, он должен знать банки в WEB-INF/lib/
. Он должен делать это автоматически, без какой-либо конфигурации. Я использовал System.getProperty("java.class.path")
, но он не работает в Tomcat.Java Classpath в контексте
1
A
ответ
1
Я думаю, что аналогичный вопрос был задан раньше. Вам нужно будет загрузить JAR-файлы из SystemClassLoader.
((URLClassLoader) (Thread.currentThread().getContextClassLoader())).getURLs()
Дополнительную информацию см. На этой ссылке.
Смежные вопросы
- 1. java manifest classpath vs. -classpath
- 2. Java - проблема с classpath
- 3. Java ImageIO.write to classpath?
- 4. Java Classpath Проблемы в Ubuntu
- 5. Установите CLASSPATH правильно в JAVA
- 6. Свернуть Unwieldy Java Classpath
- 7. java compile classpath
- 8. Проблема Java Classpath
- 9. Java plugin classpath gradle
- 10. Java Classpath at Runtime
- 11. Укажите переменную Java CLASSPATH
- 12. Проблема Java Classpath
- 13. java mysterious classpath поведение
- 14. java classpath unix
- 15. Java classpath confusion
- 16. Java classpath - Linux
- 17. Java Classpath Проблема
- 18. Java Classpath Выпуск
- 19. Проблемы класса Java classpath
- 20. java setting classpath
- 21. Укажите Java classpath
- 22. Настройка ошибки classpath java
- 23. Java classpath и classloading
- 24. Вариант Java -classpath
- 25. Jar before jre - java classpath
- 26. Основные вопросы о Java CLASSPATH
- 27. $ CLASSPATH и -cp с Java
- 28. Java-исполняемый jar classpath confusion
- 29. Java classpath и файл конфигурации
- 30. JRuby, Warbler и Java CLASSPATH
Если он работает в Tomcat, Tomcat автоматически настроить путь к классам. Точно так же, если вы пройдете через Maven, Maven это сделает. Почему ваше приложение должно делать сам? – Thilo
Он должен вызывать java-компилятор в Runtime для компиляции Java-кода, который также генерируется в Runtime. Поэтому компилятор java должен знать необходимые банки (в контексте) для компиляции java-кода. – lazyboy