在GWT 2.7服务器端从xsd创建xml

时间:2016-06-08 18:44:58

标签: java xml gwt

我想在基于GWT的服务器上从XSD文件创建XML文档。不幸的是我无法使用javax.xml.bind包,编译器给了我以下错误:

No source code is available for type javax.xml.bind.Marshaller; did you forget to inherit a required module?

我尝试了替代库,但他们使用上面的包Parse XML file in GWT server-side中的Marshaller或JAXBContext。 GWT的XML Parser不适用于server sideOverriding the package实施也不起作用。另外,我想用模式验证XML文件。

编辑解决方案:

我在最初的问题中提到了给定的解决方案和链接。我无法让JAXB的东西在客户端工作,因为有太多的依赖项,我不喜欢在新的包中添加所有源文件。不过我可以在共享代码中使用xml注释。由于解释的数量,他们的混乱风格(我的意见)和当年,我将解释我的方法。它与其他解决方案相同,可能更容易理解,完全基于Tassos Bassoukos的公认解决方案:

  1. 找到您需要的source file in your JDK。安装文件夹中有一个source.zip文件夹。
  2. 根据Overriding one package implementation with another在项目中创建一个包。此新包路径对应于所需Java文件的路径。在gwt.xml中添加<super-source path="jre" />注释!
  3. 从新包中复制(1.)中的文件并更改其导入声明(引用所需类的所有类导入真正的java包路径,而不是自定义路径。)

1 个答案:

答案 0 :(得分:1)

您必须将XML代码保留在客户端或共享文件夹之外。您可以使用服务器上的所有类和技术。

如果需要向共享类添加注释,则需要在超源路径中添加xml注释。

这已在此解释 How to use JAXB annotations in the client side for GWT?

如果这不是您的问题,您可能希望显示一些您尝试失败的代码。