如何在 Apache tomcat catalina 中为不同服务器上的文件夹指定路径?

如何在 Apache tomcat catalina 中为不同服务器上的文件夹指定路径?

在 Apache Tomcat 上

C:\Program Files\Apache 软件基金会\Tomcat 6.0\conf\Catalina\localhost\

我们可以通过在 XML 中指定来更改另一个文件夹,例如:THE_FOLDER.xml在该 xml 中,我们可以更改 THE_FOLDER 路径

<Context path="/MF_PHRASES" reloadable="true" docBase="C:\Projects\Customers\test\phrases" workDir="C:\Projects\Customers\test\phrases" />

但它不适用于位于其他服务器上的文件夹:

<Context path="/MF_PHRASES" reloadable="true" docBase="\\192.168.0.100\c$\Projects\Customers\test\phrases" 
workDir="\\192.168.0.100\c$\Projects\Customers\test\phrases" />

不工作

尝试了2种方法:

1)通过网络驱动器映射,出现错误:

严重:启动静态资源时出错 java.lang.IllegalArgumentException:文档库 Z:\Projects\Customers\test\phrases 不存在或不是可读目录,位于 org.apache.naming.resources.FileDirContext.setDocBase(FileDirContext.java:142),位于 org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:431‌​9),位于 org.apache.catalina.core.StandardContext.start(StandardContext.java:4488),位于 org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)

2)文件://192.168.0.100/c$/Projects/Customers/test/phrases

严重:部署配置描述符 MF_PHRASES_NEW.xml 时出错 java.io.IOException:文件名、目录名或卷标语法不正确,位于 java.io.WinNTFileSystem.canonicalize0(本机方法)处,位于 java.io.Win32FileSystem.canonicalize(未知来源)处,位于 java.io.File.getCanonicalPath(未知来源)处,位于 org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:658)处,位于 org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:601)处

有什么办法可以让它工作吗?

答案1

在第一种情况下,就像 mahnsc 所说的那样,这看起来像是权限问题。拥有 Tomcat 的用户无法在该目录中进行读取/写入。在第二种情况下,更可能是 docBase 属性不理解包含 IP 地址的路径。

相关内容