Так что я имею следующую структуру папок:Как добавить внешнюю папку в путь класса?
- Project
- Lib (работает баночка из этой папки)
- свойств (свойства файл для загрузки в этой папке)
Я пытаюсь загрузить файл свойств через X.class.getClassLoader(). GetResource ("properties/fileName"). Этот метод работает в eclipse, но когда я создаю jar с помощью maven, он не может найти файл, предоставляя исключение, не найденное в файле.
Я подозреваю, что папка не находится в пути к классам, потому что если я запустил getClassLoader(). GetResources (""), папка свойств никогда не появляется. Я пробовал все предложения в предыдущих вопросах о stackoverflow, но до сих пор никто не работал.
Я также попытался запустить java -cp и -classpath, но он все еще не удался.
Когда я попробовать то, что вы предложили, getClassLoader(). getResources ("") находит URL-адрес, но когда он передается в конструктор FileInputStream, я получаю исключение, не найденное в файле. Мне хотелось бы использовать Thread.currentThread(). GetContextClassLoader(), но я застрял в устаревшем коде ... – StickStack
Я думаю, что ваш загрузчик классов не видит файл. Разве нет способа изменить загрузчик классов? Он может решить эту проблему для вас ... Во всяком случае, я займу некоторое время и проверю обходной путь. –
Classloader никогда не видит файл, потому что он не находится на пути к классам, независимо от того, что я делаю. Мне хотелось бы изменить загрузчик классов, но я не могу. Я сделал работу вокруг, где я больше не использую загрузчик классов, поэтому на данный момент он «исправлен». Спасибо за помощь, не нужно тратить свое время. – StickStack