Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Tomcat custom context.xml文件从未被考虑在内_Java_Css_Tomcat_Tomcat8 - Fatal编程技术网

Java Tomcat custom context.xml文件从未被考虑在内

Java Tomcat custom context.xml文件从未被考虑在内,java,css,tomcat,tomcat8,Java,Css,Tomcat,Tomcat8,我目前对web应用程序的Tomcat配置有问题(我使用Tomcat 8.5.57)。 此web应用程序打包在war文件中,其中包含html文件和css文件。 这个应用程序运行良好 现在,我收到一位客户的请求,要求能够通过客户机管理的自定义css文件(用于设置客户机的徽标或类似内容)从war之外修改应用程序的外观和感觉。 因此,我尝试创建一个名为custom.xml的自定义上下文文件,并将其放置在tomcat\conf\Catalina\localhost目录中。 此文件看起来像: <Con

我目前对web应用程序的Tomcat配置有问题(我使用Tomcat 8.5.57)。
此web应用程序打包在war文件中,其中包含html文件和css文件。
这个应用程序运行良好

现在,我收到一位客户的请求,要求能够通过客户机管理的自定义css文件(用于设置客户机的徽标或类似内容)从war之外修改应用程序的外观和感觉。
因此,我尝试创建一个名为
custom.xml
的自定义上下文文件,并将其放置在
tomcat\conf\Catalina\localhost
目录中。
此文件看起来像:

<Context    docBase="E:/somedirectory/support" 
            path="/app/css" 
            reloadable    = "false"
            unpackWAR     = "false"
            swallowOutput = "true" >
                <WatchedResource>custom.css</WatchedResource>           
</Context>
问题是我的
custom.css
文件从未被考虑在内

当我打开Chrome开发者工具的Sources选项卡时,我看到
app/css
中的层次结构中有一个
custom.css
文件(可能是由于html文件中的行),但它是空得令人绝望。
我尝试了很多在网络和stackoverflow上找到的东西,但是没有一件对我有用

有人能帮我吗


谢谢大家!

server.xml
之外忽略
元素的
path
属性:

只有在server.xml中静态定义上下文时,才能使用此属性。在所有其他情况下,将根据.xml上下文文件或docBase使用的文件名推断路径。[来自]

因此,您有两种选择:

  • 通过创建名为
    conf\Catalina\localhost\app#css.xml
    的文件和内容,您可以使用上下文路径
    /app/css
    定义新上下文(新web应用程序):

这样,
/app/css
子树下的所有内容都将仅从
E:\somedirectory\support
目录提供服务

  • 通过添加一个名为
    conf\Catalina\localhost\app.xml的文件,您可以重新定义应用程序上下文以包括一个附加的虚拟目录(WAR文件的内容旁边),该文件的内容如下:
  • 
    

    这样,在处理
    /app/css/foo/bar
    请求时,Tomcat将首先在
    E:\somedirectory\support
    中查找
    foo/bar
    ,然后在WAR文件中查找。

    这是否回答了您的问题?可悲的是,事实并非如此。我尝试了一些类似这样的配置:
    ,但效果并不好。我尝试了解决方案2,效果非常好!谢谢。
    <link rel="stylesheet" href="css/custom.css" media="screen" type="text/css"/>