我一直在网上搜索与我类似的帖子,但我发现没有人遇到同样的问题。
我正在尝试通过以下命令使用 Jetty 9 启动 Grails 服务器:
java -Xmx384m -Xss512k -XX:+UserCompressedOops -jar server/jetty-runner.rar --port 8080 target/*.war
在目标文件夹中,我有一个在 Grails 生产环境下编译的 .war 文件,我已在 Grails 配置文件中指定了该文件。我没有将 grails run-app 命令用于测试目的。
我已按照 Jetty 网站http://www.eclipse.org/jetty/documentation/current/gzip-filter.html上的说明进行操作,但无济于事。
我的 jetty-web.xml 文件如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<!-- File: web-app/WEB-INF/jetty-web.xml -->
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
<Set name="contextPath">/workpad</Set>
<Call name="setInitParameter">
<Arg>org.eclipse.jetty.servlet.SessionIdPathParameterName</Arg>
<Arg>none</Arg>
</Call>
<filter>
<filter-name>GzipFilter</filter-name>
<filter-class>org.eclipse.jetty.servlets.GzipFilter</filter-class>
<init-param>
<param-name>mimeTypes</param-name>
<param-value>text/html,text/plain,text/xml,application/xhtml+xml,text/css,application/javascript,image/svg+xml</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>GzipFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</Configure>
不幸的是,当我尝试使用上面发布的命令启动服务器时,服务器启动了,但仅在抛出 IllegalStateException 之后,表示在 XML 文件中定义 Gzip 过滤器的过滤器标签是未知标签。
如果有必要的信息,我使用的是 Grails 1.3.7。任何帮助,将不胜感激!