2016-06-14 2 views
1

У меня есть файл .properties, который находится под исходной папкой, которую я создал, с именем res (с использованием Eclipse Mars 2). У меня есть две другие папки, которые называются messages и schemas.Как вызвать путь к файлам, указанным в файле .properties

Мне нужна помощь в предоставлении пути к файлу, чтобы он работал локально и на сервере (например, JBoss) после создания проекта в файл .war. Это мой .properties файл:

# Credentials 
user=flow 
password=flow 

# Path to schema for validation 
schemaPath=schemas/Schema1.xsd 

# Path to where you want to keep incoming and outgoing messages 
messagePath=messages/ 

выше свойства файла будет работать только тогда, когда я обеспечиваю полный путь к двум различным *Path свойств (выше не полный путь). Однако я не могу этого сделать, потому что он должен работать на сервере приложений и на разных операционных системах.

В моем коде я сохраняю пути файлов к строкам и использую эти строки, чтобы указать, где писать или читать. Как я могу сделать так, чтобы он работал после развертывания на сервере с помощью файла .war?

Я использую Dynamic Web Project в Eclipse, Марс 2.

EDIT: Поскольку свойства конфигурируется пользователем, они могут дать полный путь. Он должен работать, является ли путь коротким, как показано, или полный путь.

+0

Если приложение развертывается как WAR, как могут значения этих свойств будут относительные пути? Они не могут (не должны) добавлять файлы в WAR, и ваше приложение не может писать в WAR. Что это значит, чтобы значения этих путей были относительными, как вы показали? –

+0

Я не уверен, что понимаю, о чем вы меня спрашиваете. Я хотел указать, где эти каталоги будут расположены в проекте, так как они могут быть изменены другим разработчиком. Они могут находиться внутри структуры папок проекта или вне проекта. – syy

ответ

0

Вы должны убедиться, что файл properties является частью файла classpath, который обычно включает его в каталог classes/.

Отметьте папку properties файл Source Folder в вашем затмении. Если он находится в пакете, используйте это имя пакета во время загрузки файла.

Например, если файл находится в config/data.properties, а затем загрузить файл на .getResource("config/data.properties");

+0

Я думаю, вы неправильно поняли. Я могу отлично прочитать файл свойств. Я не могу заставить файловые пути в файле 'properties' работать, если я не дам ему полностью определенный путь (например,' C:/Users/flow/Desktop/Project/.... '). Поскольку программа будет использоваться в Linux и Windows, я не могу дать ей такой путь. – syy

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

  • Нет связанных вопросов^_^