В проекте, над которым я сейчас работаю, используется старое приложение, содержащееся в файле .jar. Одной из обязанностей этого приложения является обновление базы данных при внесении изменений в файлы конфигурации. Каждый раз, когда я пытаюсь запустить этот файл (который является простым расширением Ant Task), я получаю исключение в начале процесса. Я декомпилировал ответственный Java-файл и обнаружил, что здесь возникает исключение. Я не знаю, в чем проблема, поскольку «hibernate.cfg.xml» содержится в том же файле .jar, что и .class, вызывая исключение.
ClassLoader loader = Thread.currentThread().getContextClassLoader();
InputStream in = loader.getResourceAsStream("hibernate.cfg.xml");
if (in == null) {
throw new RuntimeException("Couldn't find built in hibernate config");
}
Если у кого-то есть идеи, даже если они укажут мне правильное направление, я был бы признателен.
Конечно, любое решение должно быть внешним, так как клиент уже имеет эту сборку программы в производственном использовании.