在Web应用程序中为Tomcat Context定义别名

时间:2014-12-30 14:01:03

标签: java tomcat alias context.xml

我已经设置了一个带有两个主机的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时工作。是错误还是此功能在此配置中不起作用或者是一些配置错误?

1 个答案:

答案 0 :(得分:1)

您将从错误消息和Tomcat 8文档here中注意到aliases属性不再存在。

请参阅The Migration Guide进行修复(以及可能存在的其他问题)。