Tomcat web.xml MIME映射不适用于.js.map文件

时间:2017-03-29 11:55:41

标签: xml tomcat

加载页面后,我在日志中得到以下几行:

Mar 29, 2017 1:39:52 PM com.sun.faces.context.ExternalContextImpl getMimeType
WARNING: JSF1091: No mime type could be found for file jsxc.min.js.map.  To resolve this, add a mime-type mapping to the applications web.xml.

为实现这一目标,我添加了

<mime-mapping>
    <extension>js.map</extension>
    <mime-type>application/json</mime-type>
</mime-mapping>

web.xml文件。但是,我仍然收到错误。为什么不接受.js.map扩展名?

1 个答案:

答案 0 :(得分:0)

由于Tomcat servlet按扩展名查找MIME的方式,即:

,因此返回错误

(档案:java/org/apache/catalina/core/ApplicationContext.java

 // ...
 public String getMimeType(String file) {
    if (file == null)
        return (null);
    int period = file.lastIndexOf('.'); // <<<<<<<<<<<
    if (period < 0)
        return (null);
    String extension = file.substring(period + 1);
    if (extension.length() < 1)
        return (null);
    return (context.findMimeMapping(extension));
 }
 //...

在标记的位置,只保留文件扩展名的最后一位(.map),这将是查找的内容。