Как правильно написать код, чтобы сделать следующее:
Base64 base64 = new Base64 base64.getClass().getSourcePackageAndVersion() // ???
Я пытаюсь определить в моем текущем проекте Grails, получаю ли я Base64 от commons-codec-1.3.jar или commons-codec-1.4.jar. Есть ли способ заставить его использовать версию 1.4 в режиме отладки / разработки?
я думаю, что вашу проблему лучше всего решить, распечатав дерево зависимостей для вашей сборки dev / debug через отчет о зависимостях (просто замените среду выполнения):
grails dependency-report runtime
вы можете использовать эту информацию, чтобы заставитьсреда для использования правильной версии класса Base64.
Вы можете найти файл jar или каталог классов, из которого класс загружается, с помощью:
base64.getClass().protectionDomain.codeSource.location
или поскольку у вас уже есть класс:
Base64.protectionDomain.codeSource.location