在 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:4319),位于 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 地址的路径。