2016-01-13 3 views
0

У меня есть проект maven, работающий над Eclipse IDE. И я пытаюсь развернуть его на другой Linux-машине с сервером tomcat, экспортируя файл .war из eclipse и помещая его на другую машину.Конфигурация каталога при развертывании автономной программы Java для сервера Tomcat

Вот проблема, когда я исполняю (?) .war файл на сервере Tomcat, он автоматически распакован этот файл и каталог проекта, однако мои ресурсы в /src/main/resources распространяется на var/lib/tomcat7/webapps/{project-root}/WEB-INF/classes и мой исходный код, чтобы загрузить некоторые файлы Безразлично Больше не работаю

Вот пример.

String currentDir = System.getProperty("user.dir"); 
File mappingdir = new File(currentDir + "/src/main/resources/mapping"); 
File f = new File(mappingdir + "/a.csv"); 

Результат

HTTP Status 500 - java.io.FileNotFoundException: 
/var/lib/tomcat7/src/main/resources/mapping/a.csv (No such file or directory) 

Поскольку этот .csv файл не существует больше. Его местоположение /var/lib/tomcat7/webapps/{project-root}/WEB-INF/classes/mapping/a.csv

Как мне изменить каталог при разработке автономного кода java - если я рассмотрю его развертывание на веб-сервере?


Мой вопрос очень сильно связан с этим вопросом. Read file from /src/main/resources/

+0

См. Http://stackoverflow.com/questions/19916845/cant-access-to-files-in-resources-directory-with-maven-with-eclipse-ide и http://stackoverflow.com/questions/ 10171122/ресурсы из-Src-основные-ресурсы, не обретенные-после-зданий-с-мавенный –

ответ

0

В приложении Java все исходные файлы размещены в папке/WEB-INF/classes. Чтобы прочитать файлы с ресурсов, которые вы используете, используйте

BufferedReader reader = new BufferedReader(
       new InputStreamReader(getClass().getClassLoader().getResourceAsStream("mapping/a.csv"))); 

он будет работать и с автономными приложениями Java.

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