Затмение, проблемы с getRealPath ()

Я индексирую PDF-документ с помощью Lucene, я использую Eclipse indigo в качестве IDE и tomcat7 в качестве контейнера сервлета, проблема заключается в том, что я индексирую документ и хочу сохранить исходный документ для последующей загрузки, но затмение помещает документы в временный каталог вместо каталога, который я выбрал.
вот что я делаю.

У меня есть этот параметр в моем файле web.xml

    <context-param>
    <description>Location to store uploaded file also the location of files to be indexed</description>
    <param-name>file-upload</param-name>
    <param-value>
    folder\
 </param-value>
</context-param>

затем вызываем его внутри метода сервлета init () следующим образом

filePath = getServletContext().getRealPath("") + File.separator + getServletContext().getInitParameter("file-upload");

Короче говоря, я пытаюсь сохранить документ в каталоге, который называется "папка" внутри моего проекта, который называется "Поиск", но eclipse сохранит его во временном месте, например:

C:\Users\Solid\Dropbox\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\Search\folder\ir_overview.pdf

но фактический путь такой:

C:\Users\Solid\Dropbox\workspace\Search\WebContent\folder

есть идеи, как решить эту проблему?

4 голоса | спросил solid 9 J000000Monday12 2012, 19:43:28

2 ответа


0

Eclipse развертывает проект в рабочем каталоге вне рабочей области проекта.

По умолчанию Eclipse использует /workspace/.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps путь для развертывания веб-приложения.

Он должен реорганизовать файлы из структуры каталогов, которую Eclipse Workspace ожидает в формате, который ожидает веб-приложение.

Нажмите> Вкладка «Серверы» Щелкните правой кнопкой мыши контейнер сервлетов (Tomcat 7 в вашем случае) и откройте (F3 - это ярлык для затмения).

Вы должны увидеть параметр «Путь к серверу», который содержит

  

Укажите путь к серверу (например, catalina.base) и путь развертывания.

Здесь вы можете указать место развертывания.

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

Итак, отмените свое веб-приложение и измените местоположение.

EDIT:

Не имеет отношения к вопросу. Вы должны создать отдельный каталог вне webContent /webapp для хранения индексов Lucene. Эта практика будет полезна при развертывании приложения в Tomcat Production

ответил Hardik Mishra 9 J000000Monday12 2012, 19:52:38
0

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

ответил Rajan Chauhan 27 PMpThu, 27 Apr 2017 15:48:36 +030048Thursday 2017, 15:48:36

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132