我已经设置了一个带有两个主机的 Tomcat 8.0:
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="sub1.mydomain.com" appBase="sub1"
unpackWARs="true" autoDeploy="true">
</Host>
<Host name="sub2.mydomain.com" appBase="sub2"
unpackWARs="true" autoDeploy="true">
</Host>
部署到 sub1
的应用程序有一个具有以下设置的 META-INF/context.xml
:
<Context path="/" aliases="/upload=/home/myuser/somepath"></Context>
其中 /upload
在 webapp 中用作保存上传文件的虚拟路径。当应用程序启动时,会显示此警告:
org.apache.catalina.startup.SetContextPropertiesRule.begin [SetContextPropertiesRule]{Context}
Setting property 'aliases' to '/upload=/home/myuser/somepath' did not find a matching property
当我在应用程序的 /upload
中保存文件时,它只是保存在已部署应用程序内的 upload
目录中(而不是保存在 /home/myuser/somepath
).当没有两个 Host
时,此设置过去有效。是错误还是此功能在此配置中不起作用或配置错误?
最佳答案
您将从错误消息和 Tomcat 8 文档中注意到 here , aliases
属性不再存在。
引用The Migration Guide修复它(以及可能的其他问题)。
关于java - 在 Web 应用程序中为 Tomcat 上下文定义别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27706823/