2012-07-09 75 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

删除所有,然后再次右键单击>然后清理。它将取消部署当前服务器上的所有应用程序,并允许您修改服务器设置。