【问题标题】:tomcat context resource not workingtomcat上下文资源不工作
【发布时间】:2013-01-22 20:16:32
【问题描述】:

我有一个在 CentOS 6 机器上运行的 tomcat6 服务器,到目前为止一切都很好。 在我的一个 webapps 中,我需要使用上下文参数来访问位于文件系统中的外部文件夹,我像这样配置了我的 server.xml(仅限<Host> 标签的相关部分):

<Context path="/userimages" docBase="/home/someuser/faces/32x32" debug="0" reloadable="true" crossContext="true"/>

当我启动服务器时出现此错误:

java.lang.IllegalArgumentException: Document base /home/someuser/faces/32x32 does not exist or is not a readable directory

我阅读了一些有关文件夹权限的信息,因此我将“32x32”和“webapps”文件夹都设置为 777,但它仍然无法正常工作...知道如何解决这个问题吗?

附:在 Windows 操作系统上完美运行

【问题讨论】:

    标签: centos tomcat6 centos6


    【解决方案1】:

    我的建议是将您的数据放入 /usr/share/tomcat6/conf/context.xml 这是一个到 /etc/tomcat6/context.xml 的符号链接在 CentOS 6 上。至少 tomcat6 在重新启动时确实读取了该文件的内容,而且我很幸运地从那里加载了资源数据。这个文件好像是tomcat6中的新文件。

    我使用 strace 检查它正在访问哪些文件,它确实在各种文件上运行 stat(),例如 /var/lib/tomcat6/webapps/*/META-INF/context.xml但它实际上并没有打开()这些文件,所以我很确定它不会读取内容。也许是一些错误?也许是想象中的未来功能?

    我设法使用这些软件包(来自 yum)在 CentOS 6 上运行 Pandora(使用上下文提供 MySQL 数据库连接详细信息):

    apache-tomcat-apis-0.1-1.el6.noarch
    java-1.6.0-openjdk-1.6.0.0-1.61.1.11.11.el6_4.i686
    mysql-connector-java-5.1.17-6.el6.noarch
    tomcat6-6.0.24-52.el6_4.noarch
    tomcat6-servlet-2.5-api-6.0.24-52.el6_4.noarch
    tomcat6-el-2.1-api-6.0.24-52.el6_4.noarch
    tomcat6-admin-webapps-6.0.24-52.el6_4.noarch
    tomcat6-jsp-2.1-api-6.0.24-52.el6_4.noarch
    tomcat6-lib-6.0.24-52.el6_4.noarch
    tomcat6-webapps-6.0.24-52.el6_4.noarch
    

    以防万一其他人试图让 Pandora 在 CentOS 6 上运行,您还需要确保您的符号链接:

     ln -s /usr/share/java/mysql-connector-java.jar /usr/share/tomcat6/lib/
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-05
      • 2018-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-01
      • 1970-01-01
      相关资源
      最近更新 更多