2012-07-09 61 views
3

我使用Lucene索引PDF文檔,我使用Eclipse indigo作爲IDE和tomcat7作爲servlet容器,問題是當我索引文檔並想保存原始文檔供以後下載時,但是eclipse把文檔放在臨時目錄中而不是我選擇的目錄。
這是我正在做的。Eclipse,問題與getRealPath()

我有這個PARAM在我的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> 

然後調用它servlet初始化()內梅索德這樣

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

我試圖存儲在目錄中的文件名爲我的項目中的「文件夾」被稱爲「搜索」,但日食會將其存儲在如下臨時位置:

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 

任何想法如何解決這個問題?

回答

3

Eclipse將項目部署到Project Workspace之外的工作目錄。

默認,Eclipse使用/workspace/.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps 路徑部署Web應用程序。

它必須將Eclipse Workspace期望的目錄結構中的文件重新組織爲Web應用程序所需的格式。

單擊>服務器選項卡。右鍵點擊Servlet容器(Tomcat 7在你的情況下)和Open(F3是eclipse的快捷方式)。

你應該能夠看到其中包含

指定服務器路徑服務器路徑選項(即catalina.base)和部署路徑。

您可以在此處指定部署位置。

注意:服務器必須發佈,不存在任何模塊才能進行更改。

因此,取消部署您的web應用程序並更改位置。

編輯:

無關的問題:你應該創建單獨的目錄,出邊的WebContent/webapp的存儲Lucene索引。如果您在打開服務器配置頁面時發現禁用修改的字段,只需關閉服務器並右鍵單擊服務器以刪除所有應用程序>添加刪除>刪除所有應用程序時,此方法將非常有用

+0

服務器 - > Tomcat v7.0服務器在localhost-config - > server.xml我找不到它。 – solid 2012-07-09 16:10:19

+0

劑量這與你告訴我有什麼關係 solid 2012-07-09 16:13:46

+0

@solid:'server.xml'不會在那位置。您可以使用「CTRL + SHIFT + R」,然後搜索「server.xml」 – 2012-07-09 16:14:04

1

刪除所有,然後再次右鍵單擊>然後清理。它將取消部署當前服務器上的所有應用程序,並允許您修改服務器設置。