Несоответствие спецификации файла веб-приложения между проектом Eclipse и сгенерированным Eclipse.war
Я разрабатываю веб-приложение в Eclipse для развертывания на сервере Tomcat. В настоящее время он работает нормально, когда я запускаю его из Eclipse, используя установку Tomcat на локальном хосте. Но когда я экспортирую.war-файл и устанавливаю его на удаленном сервере, происходит сбой из-за несоответствия между файловой системой в Eclipse и файловой системой в.war-файле.
Когда Eclipse создал проект Java EE для меня, он создал следующую структуру каталогов:
app
src
WebContent
Я поместил все мои исходные файлы Java - сервлеты и классы - в каталог src, а все веб-файлы -. Jsp,.html и различные.xml ресурсы - в WebContent.
Чтобы мое приложение могло использовать ресурсы.xml, я поместил их все в подкаталог WebContent с именами, а не случайно.
Затем я определил переменную, указывающую на эти файлы...
path_to_resources = "WebContent" + pathMrkr + "resources" + pathMrkr;
// where pathMrkr = System.getProperty("file.separator")
... в каждом классе, который должен получить доступ к XML-файлам.
Это хорошо работает, когда я запускаю приложение из Eclipse. Но при экспорте и развертывании приложения происходит сбой..War-файл, создаваемый Eclipse, не включает в себя папку WebContent, поэтому поиск ресурсов завершается неудачно, и приложение аварийно завершает работу, закрывая Tomcat в процессе.
Итак, я думаю, что я ищу несколько советов о том, как лучше всего структурировать Eclipse или мое приложение так, чтобы единая кодовая база работала как в Eclipse на локальном хосте, так и из файла.war на удаленном сервере, с минимумом суеты и суетиться с конфигурациями сборки или вручную редактировать файл.war.
Хотя я не думаю, что это уместно, для записи моя система:
Eclipse Luna на локальном хосте Windows 10 с Tomcat 8 и Java 8. Удаленный сервер, работающий в облаке, - это система CentOS 5.5, работающая на Tomcat 7 и Java 8.
Благодарю.
Джерри