Ошибка запуска в SuperDevMode (Maven)
Ниже приведена ошибка, которую я вижу при попытке запустить Errai с Maven:
$mvn gwt:run-codeserver -Dgwt.bindAddress=0.0.0.0 -Dgwt.module=app.App
Чего не хватает в моей зависимости? Когда я бегу с:
$mvn gwt:run
Там нет проблем, и приложения работают нормально.
Ошибка:
[INFO] Caused by: java.lang.NoClassDefFoundError: org.jboss.errai.marshalling.client.api.MarshallerFactoryImpl
[INFO] at com.google.gwt.dev.jjs.impl.UnifyAst.searchForTypeBySource(UnifyAst.java:983)
[INFO] at com.google.gwt.dev.jjs.impl.UnifyAst.access$1500(UnifyAst.java:120)
[INFO] at com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.handleGwtCreate(UnifyAst.java:364)
[INFO] at com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.handleMagicMethodCall(UnifyAst.java:433)
[INFO] at com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.endVisit(UnifyAst.java:237)
[INFO] at com.google.gwt.dev.jjs.ast.JMethodCall.traverse(JMethodCall.java:243)
[INFO] at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
[INFO] at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
[INFO] ... 44 more
[INFO] [ERROR] at MarshallerFramework.java(42): GWT.create(MarshallerFactory.class)
[INFO] com.google.gwt.dev.jjs.ast.JMethodCall
[INFO] [ERROR] at MarshallerFramework.java(42): (MarshallerFactory) GWT.create(MarshallerFactory.class)
[INFO] com.google.gwt.dev.jjs.ast.JCastOperation
[INFO] [ERROR] at MarshallerFramework.java(42): MarshallerFramework.marshallerFactory = (MarshallerFactory) GWT.create(MarshallerFactory.class)
[INFO] com.google.gwt.dev.jjs.ast.JBinaryOperation
[INFO] [ERROR] at MarshallerFramework.java(42): MarshallerFramework.marshallerFactory = (MarshallerFactory) GWT.create(MarshallerFactory.class)
[INFO] com.google.gwt.dev.jjs.ast.JExpressionStatement
[INFO] [ERROR] at MarshallerFramework.java(40): {
[INFO] InitVotes.waitFor(MarshallerFramework.class);
[INFO] MarshallerFramework.marshallerFactory = (MarshallerFactory) GWT.create(MarshallerFactory.class);
[INFO] ParserFactory.registerParser(new MarshallerFramework$1());
[INFO] InitVotes.voteFor(MarshallerFramework.class);
[INFO] }
[INFO] com.google.gwt.dev.jjs.ast.JBlock
[INFO] [ERROR] at MarshallerFramework.java(37): {
[INFO] Object.$clinit();
[INFO] {
[INFO] InitVotes.waitFor(MarshallerFramework.class);
[INFO] MarshallerFramework.marshallerFactory = (MarshallerFactory) GWT.create(MarshallerFactory.class);
[INFO] ParserFactory.registerParser(new MarshallerFramework$1());
[INFO] InitVotes.voteFor(MarshallerFramework.class);
[INFO] }
[INFO] }
[INFO] com.google.gwt.dev.jjs.ast.JBlock
[INFO] [ERROR] at MarshallerFramework.java(37): {
[INFO] Object.$clinit();
[INFO] {
[INFO] InitVotes.waitFor(MarshallerFramework.class);
[INFO] MarshallerFramework.marshallerFactory = (MarshallerFactory) GWT.create(MarshallerFactory.class);
[INFO] ParserFactory.registerParser(new MarshallerFramework$1());
[INFO] InitVotes.voteFor(MarshallerFramework.class);
[INFO] }
[INFO] }
[INFO] com.google.gwt.dev.jjs.ast.JMethodBody
[INFO] [ERROR] at MarshallerFramework.java(37): private static final void $clinit();
[INFO]
[INFO] com.google.gwt.dev.jjs.ast.JMethod
[ERROR] [INFO] [ERROR] Compiler returned false
com.google.gwt.core.ext.UnableToCompleteException: (see previous log entries)
[ERROR] at com.google.gwt.dev.codeserver.Recompiler.compile(Recompiler.java:93)
[ERROR] at com.google.gwt.dev.codeserver.ModuleState.<init>(ModuleState.java:54)
[ERROR] at com.google.gwt.dev.codeserver.CodeServer.start(CodeServer.java:88)
[ERROR] at com.google.gwt.dev.codeserver.CodeServer.main(CodeServer.java:51)
1 ответ
Решение
Вам не хватает зависимости для codeserver, который: com.google.gwt.gwt-codeserver
У меня лично были проблемы с запуском через maven. Вместо этого я использую Eclipse Run:
НАЗВАНИЕ: GWT_CODESERVER
ГЛАВНЫЙ КЛАСС: com.google.gwt.dev.codeserver.CodeServer
АРГУМЕНТЫ: -workDir ../.codeserver -src src/main/java yourpackage.YourModule
ВМ АРГС: -Xms750m -Xmx750m -XX:PermSize=200M -XX:MaxPermSize=200M
CLASSPATH: (external jar) gwt-codeserver.jar