0

我试图弄清楚为什么会出现这个警告,因为我的 Errai 应用程序在 GWT 开发模式下加载:

[INFO] WARN [ErraiMarshalling] 找不到 marshaller 类。[INFO] WARN [ErraiMarshalling] 使用动态编组器。动态编组器专为开发模式测试而设计,理想情况下不应在生产中使用。*

我试图把:

<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>
4

2 回答 2

1

在您的ErraiApp.properties中,添加以下配置:

errai.marshalling.use_static_marshallers=true

更多关于https://docs.jboss.org/author/display/ERRAI/ErraiApp.properties

于 2014-02-25T09:49:11.607 回答
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();
        }

这不是您问题的答案,但它可能对您有所帮助。

于 2014-02-23T13:53:48.873 回答