Java Tomcat 8:按给定顺序启动WebApps
在Java8中使用Tomcat8.0.15 我需要先加载某个Web应用程序,因此我将以下内容放在我的server.xml中:Java Tomcat 8:按给定顺序启动WebApps,java,tomcat,tomcat8,Java,Tomcat,Tomcat8,在Java8中使用Tomcat8.0.15 我需要先加载某个Web应用程序,因此我将以下内容放在我的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"/> &l
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" className="com.my.class.MyCustomHost">
<Context docBase="app_to_load" path="/app_to_load"/>
</Host>
此设置在Tomcat 7.0.42(使用Java 7)中工作,但在Tomcat 8.0.15(使用Java 8)中,我得到以下错误:
2015年4月16日下午3:36:53 org.apache.tomcat.util.digester.digester
startElement严重:开始事件引发错误
java.lang.IllegalAccessError位于
MyCustomHost.java:18)
我尝试使用的解决方案是从中派生出来的。任何输入都会有帮助!谢谢
children
是Tomcat 8中的一个final
字段(请参阅此源代码),因此更改它是非法的。幸运的是,您可以使用将其设置为LinkedHashMap
,或者使用引用的(进行一些小的更改)将子项设置为非最终版本。我认为这可能是Tomcat版本的问题。看这里:
public class MyCustomHost extends StandardHost {
public MyCustomHost () {
super();
this.children = new LinkedHashMap();
} }