загрузочного пути к классам следующий сценарий:Добавить файл XML в путь к классам с помощью
Я простирающуюся инструмент администратора для системы небольших услуг, скомпилированных в виде работоспособных банки. Эти службы используют xml-конфигурации в своем пути к классам для множества задач.
Теперь я хочу извлечь конфигурационные файлы, такие как конфигурация db, из скомпилированных файлов jar и динамически добавить их в путь к классам. До сих пор вам нужно было перекомпилировать весь пакет, если вы хотите изменить настройки базы данных, и это все виды плохого imho.
То, что я пробовал:
java -Xbootclasspath/p:/path/db.xml java -jar Foo.jar
- это приводит к ошибке Java VM - это, кажется, не делать ничего, я пытался найти файл XML с помощью ниже сценария в пути к классам, но Я не смог. XML лежит непосредственно внутри кувшина (созданный с jar cvMf db.jar db.xml
)
сценарий я использовал:
ZipFile zf;
ZipFile zf;
try{
zf = new ZipFile("Foo.jar");
} catch(final ZipException e){
throw new Error(e);
} catch(final IOException e){
throw new Error(e);
}
final Enumeration e = zf.entries();
while(e.hasMoreElements()){
final ZipEntry ze = (ZipEntry) e.nextElement();
final String fileName = ze.getName();
final boolean accept = Pattern.compile(".*(xml)").matcher(fileName).matches();
if(accept){
log.debug(fileName);
}
}
Я надеюсь, что кто-то может помочь с этой проблемой, я довольно невежественный на то, что еще я мог бы попробовать.
Итак, вы хотите ссылаться на xml-файл в комплекте в банке? Если это возможно, вы можете загружать ресурсы в путь к классам, как описано http://stackoverflow.com/questions/3294196/load-resource-from-anywhere-in-classpath –
Вы не можете использовать -classpath вместе с -jar. edit: и снова аргумент bootclasspath, кажется, не добавляет содержимое jar в мой путь к классам – minime