2013-08-26 1 views
1

У меня есть проект, имеющий следующую папку:Как правильно разместить и использовать ресурсы проекта со встроенной банкой?

ресурсы/XML-схемы/someXMLschema.xsd

класс внутри моего проекта использует эту XML-схемы для проверки XML-файлов, прежде чем импортировать их.

Этот класс имеет локальную переменную, указывающую путь из схемы:

schemaFilePath = "resources" + File.separator + "xml-schemata" + File.separator + "someXMLschema.xsd" 

Конечно, это работает на местном уровне.

Теперь я хочу поместить свой инструмент в банку, чтобы дать другим людям.

Но проект с использованием банки не может найти схему, из-за, возможно, две вещей:

  • Процесс сборки баночки удалил папку ресурсов таким образом, чтобы папка XML-схема находится в корневом каталоге баночки папка.
  • Проект даже не заглядывает в используемую банку, но предполагает наличие локальной папки ресурсов/xml-schemata.

Какая из этих проблем может быть проблемой и как я могу ее решить?

ответ

0
File f1 = new File("..\\..\\..\\config.properties"); 

Этот путь пытается получить доступ к файлу в каталоге проекта, а затем просто получить доступ к файлу, подобному этому.

File f=new File("filename.txt"); 

, если файл находится в OtherSources/Resources

this.getClass().getClassLoader().getResource("relative path");//-> relative path from resources folder 

также, наиболее бессильной, чтения и печати текущего каталога:

System.getProperty("user.dir"); 

таким образом, вы будете знать, что это относительный путь, который вы необходимо, и вам будет легче понять, пытаетесь ли вы читать с плохого пути или нужных вам ресурсов нет.

Смежные вопросы