Vertx服务代理代码生成编译错误

时间:2018-03-10 21:59:50

标签: java maven vert.x

版本3.5.1的编译失败 在生成的服务代理上,错误 - 未报告的异常java.io.UnsupportedEncodingException;必须被抓住或宣布被抛出

生成“throw t”错误的代理代码 -

public void handle(Message msg) {
try {
...
}
catch (Throwable t) {
msg.reply(new ServiceException(500, t.getMessage()));
throw t;
}
}

Stacktrace -

UserAsyncServiceVertxProxyHandler.java:[339,7] unreported exception java.io.UnsupportedEncodingException; must be caught or declared to be thrown

    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.compiler.CompilationFailureException: Compilation failure
/Users/admin/Documents/Development/langAppServer/vertxweb/target/generated-sources/annotations/com/bijay/langapp/web/verticles/user/UserAsyncServiceVertxProxyHandler.java:[339,7] unreported exception java.io.UnsupportedEncodingException; must be caught or declared to be thrown

    at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:858)
    at org.apache.maven.plugin.compiler.CompilerMojo.execute(CompilerMojo.java:129)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)

1 个答案:

答案 0 :(得分:0)

界面中的一个方法是抛出UnsupportedEncodingException。所以代码生成失败了。确保接口不会抛出任何已检查的异常,否则代码生成将失败。

这是界面中的方法。

void generateQRUrl(User user,Handler> resultHandler)抛出UnsupportedEncodingException;