我一直在使用AutoBeans来映射来自非GWT-RPC基于Java的Web服务的JSON数据.到目前为止,除了一个映射之外,一切都在进行.
在服务器端,Class具有Map类型的属性,其中MyAbstractParentObject是大约15个不同子类的父类.
当我将它映射到客户端上的相应AutoBean接口时,我无法在解码后将MyAbstractParentObject转发为其子类型.我查看了GWT文档和"谷歌",看看AutoBeans是否具有多态支持,但无论如何都无法得到答案.拦截器和类别似乎无法处理这个问题,只是他们希望在接口中存在非getter/setter的方法.
我试图使用JSON数据中的类型字段来创建一个解决方法来创建子类的实例,但是AutoBean不允许我访问原始JSON,即使在调试器中我可以将其视为受保护的字段'数据'.如果我尝试解码原始bean,它将只有MyAbstractParentObject中的字段.
我能看到的唯一选择是:
任何帮助,将不胜感激.
我正在构建一个插件来进行代码生成.
我按照这里的步骤来了解如何创建插件:http: //maven.apache.org/guides/plugin/guide-java-plugin-development.html
插件来源:
/**
* @goal helloworld
* @phase generate-sources
*/
public class SampleMojo extends AbstractMojo
{
@Override
public void execute() throws MojoExecutionException, MojoFailureException
{
getLog().info("Hello, world.");
}
}
Run Code Online (Sandbox Code Playgroud)
用法:
<plugins>
<plugin>
<groupId>com.sample</groupId>
<artifactId>sample-maven-plugin</artifactId>
<version>0.0.1</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>helloworld</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
Run Code Online (Sandbox Code Playgroud)
该插件本身可以正常工作,但在Eclipse中,我一直得到"生命周期未涵盖"的错误.
我阅读了"如何解决"插件执行未被生命周期配置"Spring Data Maven Builds"所涵盖的内容,我认为如果我创建了自己的插件并设置了@phase和@goal注释,它将摆脱该错误.我真的不想在pom中放入"lifecycleMappingMetadata"节点.
有人对此有任何建议吗?我需要为m2e编写一些特殊内容才能让错误消失吗?