我正在试图弄清楚为什么这个警告会出现,因为我的Errai应用程序在GWT开发模式下加载:
[INFO] WARN [ErraiMarshalling]找不到marshaller类。 [INFO] WARN [ErraiMarshalling]使用动态marshallers。动态 marshallers专为开发模式测试而设计,理想情况下 不应该用于生产。 *
我试图把:
<extraJvmArgs>-Xmx1500m -XX:MaxPermSize=1000m -XX:-UseSplitVerifier -Derrai.marshalling.server.classOutput=${project.build.outputDirectory}</extraJvmArgs>
和这个
<outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</outputDirectory>
答案 0 :(得分:1)
在ErraiApp.properties
中,添加以下配置:
errai.marshalling.use_static_marshallers=true
更多关于https://docs.jboss.org/author/display/ERRAI/ErraiApp.properties
答案 1 :(得分:0)
显示此警告消息,因为MappingContextSingleton.java具有类似
的方法 private static void dynamicMarshallingWarning() {
log.warn("using dynamic marshallers. dynamic marshallers are designed" +
" for development mode testing, and ideally should not be used in production. *");
}
从loadDynamicMarshallers方法调用
public static ServerMappingContext loadDynamicMarshallers() {
dynamicMarshallingWarning();
我在三种情况下显示此错误消息,如
案例1
if (cls == null) {
return loadDynamicMarshallers();
}
案例2
if (!MarshallingGenUtil.isUseStaticMarshallers()) {
sContext = loadDynamicMarshallers();
}
案例3
catch (Throwable t) {
log.debug("failed to load static marshallers", t);
log.warn("static marshallers were not found.");
sContext = loadDynamicMarshallers();
}
这不是你的问题的答案,但它可能对你有帮助。