Доступ из Java в пути Tomcat - PullRequest
       3

Доступ из Java в пути Tomcat

0 голосов
/ 07 октября 2010


В моем локальном Tomcat запущено веб-приложение.Путь: tomcat/webapps/myproject.
У меня есть несколько ресурсов в этом проекте, все в папке с этим путем: tomcat/webapps/myproject/resources

Итак, я пытаюсь получить доступ к этим ресурсам из проекта Java,используя файл config.properties.В этом файле у меня есть что-то вроде этого:

tomcat.url= http://localhost
tomcat.port=8080
tomcat.resources=/myproject/resources

Я пробовал также различные комбинации / или \, но я получаю эту ошибку при запуске проекта:

Trying to acces to a directory that does not exist

MyJava-код:

Configuration config = new PropertiesConfiguration("config.properties");    
String sourcePath = config.getString("tomcat.resources");
//And I try to list this folder  
File dir = new File(sourcePath);
String[] children = dir.list();         
if (children == null) {          
    // Either dir does not exist or is not a directory
    throw new ServiceExecutionException("Trying to generate Metadata in a directory that does not exist");                  
} 

Я не знаю, что не так, в проектах, которые я делал раньше, похоже на это, у меня было что-то похожее, и он нашел все.
Есть идеи ??Заранее спасибо.

1 Ответ

1 голос
/ 07 октября 2010

файл должен находиться по адресу tomcat/webapps/myproject/src/main/resources Проверить обновление.

Я не знаю, как вы получаете доступ к файлу, но на всякий случай рекомендую использовать PropertiesConfiguration

 private static final String CONFIGURATION_PATH = "config.properties";
 PropertiesConfiguration configuration = new PropertiesConfiguration(CONFIGURATION_PATH);

1012 * Отредактированный *

Проблема в том, что вы пытаетесь открыть файл, расположенный (имея в виду, что "/" является вашей корневой файловой системой) в /myproject/resources, когда ваш файл находится в (вероятно) /var/lib/tomcat6/webapps/myproject/resources.

Вы можете получить реальный путь к вашему файлу, используя ServletContext # getRealPath

...