| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > добавить папку с xml'ями в classpath |
| Автор: smbd 19.7.2006, 11:06 |
| Здравствуйте! Вопрос: как добавить в classpath папку с xml файлами? Есть такая структура каталога: .\conf .\lib .\моиКлассы.jar run.bat В run.bat пишу java –classpath моиКлассы.jar;.\lib\1.jar;.\lib\2.jar;.\conf my.pachage.MainClass И открыть файл config.xml из папки conf не могу: FileNotFoundException. Поскольку там лежит и конфигурация для сторонних библиотек, задавать путь к моему config.xml решит только его проблему, а сторонние приложения свои конфигурационные файлы не увидят. Заранее спасибо! |
| Автор: tux 19.7.2006, 11:14 | ||
Как сторонние библиотеки будут искать конфигурационные файлы, это зависит от самой библиотеки. А все что лежит в CLASS-PATH можно прочитать как ресурс. Попробуй вот так:
|
| Автор: smbd 19.7.2006, 11:33 | ||
Там просто открывается файл.
Можно именно в classpath xml'и засунуть? |
| Автор: tux 19.7.2006, 11:38 | ||
Таким образом
ты прочитаешь файл config-1.xml в текущем каталоге (в том, откуда запускал приложение). Если тебе это и надо, положи его просто в текущий каталог. Класс java.io.File к CLASS-PATH не имеет никакого отношения. Если xml у тебя будет в CLASS-PATH, то обратиться ты к нему можешь как к ресурсу. А дальше метод работы ни чем не отличается - открываешь поток, читаешь... |
| Автор: smbd 19.7.2006, 11:56 |
| Уф-ф, спасибо. Полегчало. Чего-то, наверное, в отпуск надо... |
| Автор: smbd 19.7.2006, 15:17 |
| О! Вопрос в догонку. Можно ли написать одним разом много jar'ов? Написать - в смысле довабить в classpath. А то их и правда много. Я попробовал вот так: java –classpath моиКлассы.jar;.\lib\*.jar;.\conf my.pachage.MainClass Но не получается. Или их тоже нужно только программно подгружать? |
| Автор: tux 19.7.2006, 15:34 |
| Придется перечислять все, по-другому никак. Ну или можно на скриптовом языке оболочки написать скриптик, который будет формировать строку с библиотеками. |