作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 Java 8 中使用 Tomcat 8.0.15
我需要先加载某个 WebApp,所以我将以下内容放入我的 server.xml 中:
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" className="com.my.class.MyCustomHost">
<Context docBase="app_to_load" path="/app_to_load"/>
</Host>
MyCustomHost 如下所示:
public class MyCustomHost extends StandardHost {
public MyCustomHost () {
super();
this.children = new LinkedHashMap();
} }
此设置在 Tomcat 7.0.42(使用 Java 7)中有效,但在 Tomcat 8.0.15(使用 Java 8)中,我收到以下错误:
Apr 16, 2015 3:36:53 PM org.apache.tomcat.util.digester.Digester startElement SEVERE: Begin event threw error java.lang.IllegalAccessError at com.my.class.MyCustomHost.(MyCustomHost.java:18)
我尝试使用的解决方案来自 here .任何输入都会有所帮助!谢谢!
最佳答案
children
是 Tomcat 8 中的 final
字段(请参阅此源代码 diff ),因此更改它是非法的。幸运的是,您可以使用 this trick将其设置为 LinkedHashMap
,或使用引用的 hack (有一些小的变化)使 children
成为非最终的。
关于java - Tomcat 8 : Starting WebApps in a given order,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29684918/
我是一名优秀的程序员,十分优秀!