Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java GWT-当前无法在devmode中引入新注释。请重新启动_Java_Gwt - Fatal编程技术网

Java GWT-当前无法在devmode中引入新注释。请重新启动

Java GWT-当前无法在devmode中引入新注释。请重新启动,java,gwt,Java,Gwt,我在编译我的GWT应用程序时遇到了这个错误。我尝试用谷歌搜索,但没有关于此错误的详细说明: [ERROR] java.lang.RuntimeException: a new annotation has been introduced (org.hibernate.validator.constraints.ConstraintComposition); you cannot currently introduce new annotations in devmode. Please rest

我在编译我的
GWT
应用程序时遇到了这个错误。我尝试用谷歌搜索,但没有关于此错误的详细说明:

[ERROR] java.lang.RuntimeException: a new annotation has been introduced (org.hibernate.validator.constraints.ConstraintComposition); you cannot currently introduce new annotations in devmode. Please restart.
[ERROR]     at org.jboss.errai.config.rebind.MetaClassBridgeUtil.populateMetaClassFactoryFromTypeOracle(MetaClassBridgeUtil.java:88)
[ERROR]     at org.jboss.errai.config.rebind.AbstractAsyncGenerator$2.run(AbstractAsyncGenerator.java:93)
[ERROR]     at org.jboss.errai.config.rebind.AsyncGenerationJob.notifyStarting(AsyncGenerationJob.java:86)
[ERROR]     at org.jboss.errai.config.rebind.AsyncGenerators.notifyStarting(AsyncGenerators.java:190)
[ERROR]     at org.jboss.errai.config.rebind.AsyncGenerators.startAll(AsyncGenerators.java:144)
[ERROR]     at org.jboss.errai.config.rebind.AsyncGenerators.getFutureFor(AsyncGenerators.java:55)
[ERROR]     at org.jboss.errai.config.rebind.AsyncGenerationJob.submit(AsyncGenerationJob.java:109)
[ERROR]     at org.jboss.errai.config.rebind.AbstractAsyncGenerator.startAsyncGeneratorsAndWaitFor(AbstractAsyncGenerator.java:86)
[ERROR]     at org.jboss.errai.ioc.rebind.ioc.bootstrapper.IOCGenerator.generate(IOCGenerator.java:58)
[ERROR]     at com.google.gwt.core.ext.IncrementalGenerator.generateNonIncrementally(IncrementalGenerator.java:40)
[ERROR]     at com.google.gwt.dev.javac.StandardGeneratorContext.runGeneratorIncrementally(StandardGeneratorContext.java:657)
[ERROR]     at com.google.gwt.dev.cfg.RuleGenerateWith.realize(RuleGenerateWith.java:41)
[ERROR]     at com.google.gwt.dev.shell.StandardRebindOracle$Rebinder.rebind(StandardRebindOracle.java:79)
[ERROR]     at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:276)
[ERROR]     at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:265)
[ERROR]     at com.google.gwt.dev.DistillerRebindPermutationOracle.getAllPossibleRebindAnswers(DistillerRebindPermutationOracle.java:91)
[ERROR]     at com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.handleGwtCreate(UnifyAst.java:355)
[ERROR]     at com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.handleMagicMethodCall(UnifyAst.java:433)
[ERROR]     at com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.endVisit(UnifyAst.java:237)
[ERROR]     at com.google.gwt.dev.jjs.ast.JMethodCall.traverse(JMethodCall.java:243)
[ERROR]     at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
[ERROR]     at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
[ERROR]     at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)
[ERROR]     at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:116)
[ERROR]     at com.google.gwt.dev.jjs.ast.JCastOperation.traverse(JCastOperation.java:65)
[ERROR]     at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
[ERROR]     at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
[ERROR]     at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)
[ERROR]     at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:116)
[ERROR]     at com.google.gwt.dev.jjs.ast.JDeclarationStatement.traverse(JDeclarationStatement.java:48)
[ERROR]     at com.google.gwt.dev.jjs.ast.JModVisitor$ListContextImmutable.traverse(JModVisitor.java:170)
[ERROR]     at com.google.gwt.dev.jjs.ast.JModVisitor.acceptWithInsertRemoveImmutable(JModVisitor.java:336)
[ERROR]     at com.google.gwt.dev.jjs.ast.JBlock.traverse(JBlock.java:83)
[ERROR]     at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
[ERROR]     at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
[ERROR]     at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:137)
[ERROR]     at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:133)
[ERROR]     at com.google.gwt.dev.jjs.ast.JTryStatement.traverse(JTryStatement.java:60)
[ERROR]     at com.google.gwt.dev.jjs.ast.JModVisitor$ListContextImmutable.traverse(JModVisitor.java:170)
[ERROR]     at com.google.gwt.dev.jjs.ast.JModVisitor.acceptWithInsertRemoveImmutable(JModVisitor.java:336)
[ERROR]     at com.google.gwt.dev.jjs.ast.JBlock.traverse(JBlock.java:83)
[ERROR]     at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
[ERROR]     at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
[ERROR]     at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:137)
[ERROR]     at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:133)
[ERROR]     at com.google.gwt.dev.jjs.ast.JMethodBody.traverse(JMethodBody.java:82)
[ERROR]     at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
[ERROR]     at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
[ERROR]     at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)
[ERROR]     at com.google.gwt.dev.jjs.ast.JMethod.visitChildren(JMethod.java:434)
[ERROR]     at com.google.gwt.dev.jjs.ast.JMethod.traverse(JMethod.java:403)
[ERROR]     at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
[ERROR]     at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
[ERROR]     at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)
[ERROR]     at com.google.gwt.dev.jjs.impl.UnifyAst.mainLoop(UnifyAst.java:900)
[ERROR]     at com.google.gwt.dev.jjs.impl.UnifyAst.exec(UnifyAst.java:625)
[ERROR]     at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.precompile(JavaToJavaScriptCompiler.java:640)
[ERROR]     at com.google.gwt.dev.jjs.JavaScriptCompiler.precompile(JavaScriptCompiler.java:33)
[ERROR]     at com.google.gwt.dev.Precompile.precompile(Precompile.java:278)
[ERROR]     at com.google.gwt.dev.Precompile.precompile(Precompile.java:229)
[ERROR]     at com.google.gwt.dev.Precompile.precompile(Precompile.java:141)
[ERROR]     at com.google.gwt.dev.Compiler.run(Compiler.java:232)
[ERROR]     at com.google.gwt.dev.Compiler.run(Compiler.java:198)
[ERROR]     at com.google.gwt.dev.Compiler$1.run(Compiler.java:170)
[ERROR]     at com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:88)
[ERROR]     at com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger(CompileTaskRunner.java:82)
[ERROR]     at com.google.gwt.dev.Compiler.main(Compiler.java:177)
DevMode(和GWT编译器BTW)解析来自字节码的注释,而不是源代码(据我所知,这是GWT中字节码作为源代码的唯一用法);因此,在重新启动DevMode之前,您在源代码中引入的注释无法被DevMode看到

除非使用注释的生成器使用一些技巧来实际加载重新编译的字节码,否则这是错误的。仅供参考,GIN曾经受到这种限制,从2.0开始,它使用
ClassLoader
技巧来缓解这种限制

勘误表似乎有一些技巧可以检测到您以DevMode看不到的方式更改了源代码(在本例中,我认为是GWT内置的Bean验证生成器,因此无法将其更改为使用类似的tricskas-GIN)并生成错误。

DevMode(和GWT编译器BTW)从字节码解析注释,不是源代码(据我所知,这是GWT中唯一使用字节码作为源代码的方法);因此,在重新启动DevMode之前,您在源代码中引入的注释无法被DevMode看到

除非使用注释的生成器使用一些技巧来实际加载重新编译的字节码,否则这是错误的。仅供参考,GIN曾经受到这种限制,从2.0开始,它使用
ClassLoader
技巧来缓解这种限制


勘误表似乎有一些技巧来检测您以DevMode看不到的方式更改了源代码(在本例中,我认为是GWT中内置的Bean验证生成器,因此无法将其更改为使用类似的tricskas-GIN)并生成错误。

每当无法加载注释类型时,就会引发此异常。正如消息中所说(Thomas在他的回复中解释),这种情况可能发生的一种情况是在开发模式会话期间添加新的注释类型


获取此错误的另一种可能方法是在GWT编译器的类路径上没有
org.hibernate.validator.constraints.ConstraintComposition
。尝试使用
mvn-xgwt:compile编译,并查看gwt编译器使用的类路径。验证GWT编译类路径是否包含一个.jar,其中包含org/hibernate/validator/constraints/ConstraintComposition.class。

每当无法加载注释类型时,就会引发此异常。正如消息中所说(Thomas在他的回复中解释),这种情况可能发生的一种情况是在开发模式会话期间添加新的注释类型


获取此错误的另一种可能方法是在GWT编译器的类路径上没有
org.hibernate.validator.constraints.ConstraintComposition
。尝试使用
mvn-xgwt:compile编译,并查看gwt编译器使用的类路径。验证GWT编译类路径是否包含一个.jar,其中包含org/hibernate/validator/constraints/ConstraintComposition.class。

是否有解决此问题的方法?当我运行gwt:compile时,gwt-dev模式是关闭/未运行的,因此我不明白这一点。不确定我是否完全理解您的答案,当我运行gwt:compile时,会显示此错误。也就是说,gwt-dev模式没有运行哦,对不起,没有注意到您在编译过程中得到了这个。第一件事:不要在没有先执行
mvn进程类的情况下运行
mvn gwt:compile
,因为
gwt:compile
不会先在代码上运行javac。最好使用
mvn包
(或
mvn准备包
),可能与
-DskipTests
一起使用。除此之外,错误是特定于勘误表的,参见Jonathan Fuerth的回答,他是勘误表的开发人员。这个问题有解决方案吗?当我运行gwt:compile时,gwt-dev模式是关闭/未运行的,因此我不明白这一点。不确定我是否完全理解您的答案,当我运行gwt:compile时,会显示此错误。也就是说,gwt-dev模式没有运行哦,对不起,没有注意到您在编译过程中得到了这个。第一件事:不要在没有先执行
mvn进程类的情况下运行
mvn gwt:compile
,因为
gwt:compile
不会先在代码上运行javac。最好使用
mvn包
(或
mvn准备包
),可能与
-DskipTests
一起使用。除此之外,错误是特定于勘误表的,参见Jonathan Fuerth的回答,他是勘误表开发人员。这正是解决问题所需要的。这正是解决问题所需要的