当前位置: 首页 > 知识库问答 >
问题:

调试jaxb2 maven插件

童铭晨
2023-03-14

在使用maven-jaxb2插件从xsd生成Java代码时,我遇到了以下错误,使用命令行中的xjc,这些代码都运行良好。有人知道如何调试maven-jaxb2插件吗?

[INFO] --- maven-jaxb2-plugin:0.8.3:generate (default) @ microsoft-windowsazure-api ---
[ERROR] Error while parsing schema(s).Location [ file:/D:/SRC/gcheng13/azure-sdk-for-java-pr/microsoft-azure-api/src/main/resources/schemas.microsoft.com.netservices.2010.10.servicebus.connect.xsd{155,87}].
org.xml.sax.SAXParseException; systemId: file:/D:/SRC/gcheng13/azure-sdk-for-java-pr/microsoft-azure-api/src/main/resources/schemas.microsoft.com.netservices.2010.10.servicebus.connect.xsd; lineNumber: 155; columnNumber: 87; src-resolve: Cannot resolve the name 'tnsn:MessageCountDetails' to a(n) 'type definition' component.
        at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:198)
        at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134)
        at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:437)
        at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaErr(XSDHandler.java:4124)
        at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaError(XSDHandler.java:4107)
        at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.getGlobalDecl(XSDHandler.java:1667)
        at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDElementTraverser.traverseNamedElement(XSDElementTraverser.java:405)
        at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDElementTraverser.traverseLocal(XSDElementTraverser.java:194)
        at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.traverseLocalElements(XSDHandler.java:3580)
        at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.parseSchema(XSDHandler.java:622)
        at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadSchema(XMLSchemaLoader.java:588)
        at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadGrammar(XMLSchemaLoader.java:555)
        at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadGrammar(XMLSchemaLoader.java:521)
        at com.sun.org.apache.xerces.internal.jaxp.validation.XMLSchemaFactory.newSchema(XMLSchemaFactory.java:240)
        at com.sun.tools.xjc.reader.xmlschema.parser.SchemaConstraintChecker.check(SchemaConstraintChecker.java:109)
        at com.sun.tools.xjc.ModelLoader.loadXMLSchema(ModelLoader.java:360)
        at com.sun.tools.xjc.ModelLoader.load(ModelLoader.java:174)
        at com.sun.tools.xjc.ModelLoader.load(ModelLoader.java:119)
        at org.jvnet.mjiip.v_2_2.XJC22Mojo.loadModel(XJC22Mojo.java:54)
        at org.jvnet.mjiip.v_2_2.XJC22Mojo.doExecute(XJC22Mojo.java:44)
        at org.jvnet.mjiip.v_2_2.XJC22Mojo.doExecute(XJC22Mojo.java:29)
        at org.jvnet.jaxb2.maven2.RawXJC2Mojo.doExecute(RawXJC2Mojo.java:318)
        at org.jvnet.jaxb2.maven2.RawXJC2Mojo.execute(RawXJC2Mojo.java:160)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
        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:84)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)

共有2个答案

商勇
2023-03-14

您应该检查名称空间(tnsn)是否在xsd中声明。如果是,那么它可能是一个无法访问的xsd导入,可能会出现这样的错误。否则:http://confluence.highsource.org/display/MJIIP/User指南调试和详细选项可用。。。

沈思博
2023-03-14

为了解决手头的问题,您应该如下更改导入:

<xs:import schemaLocation="schemas.microsoft.com.2003.10.Serialization.xsd" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
<xs:import schemaLocation="schemas.microsoft.com.netservices.2011.06.servicebus.xsd" namespace="http://schemas.microsoft.com/netservices/2011/06/servicebus"/>  

这不是一个错误,但模式中的声明太多了。微软通用域名格式。网络服务。2011.06.服务巴士。xsd。

我个人不会声明/导入任何我不用来保持模式简单的东西。

我将xjb文件移到与xsd文件相同的目录中,因此这些模式现在是有效的。

 类似资料:
  • JSDT(Javascript Debug Toolkit)是一个用于javascript调试的eclipse 插件,用于调试javascript。JSDT可以跨浏览器调试,支持在IE,Firefox,Safari,Chrome等主流浏览器中调试javascript。JSDT支持设置断点,单步调试等调试工具的基本特性。

  • 在IJ中的resule是这样的,永远不要停在断点处 怎样做才能使断点有用

  • 我想使用IntelliJ的交互式调试器。 <罢工> 不幸的是,我无法说服IntelliJ加载和编译插件。然而, 我可以执行并且插件按照预期构建并运行其测试。 具体地说,我正在尝试调试对gradle-js-plugin的本地更改 <罢工> IntelliJ说它找不到 以及 。(我在想也许是因为它们的装填方式,但那只是猜测。) 打开了新创建的项目,并尝试使用步骤0中的ScriptRunner进行调试。

  • 本文向大家介绍如何调试报表插件,包括了如何调试报表插件的使用技巧和注意事项,需要的朋友参考一下 在项目开发过程中插件调试非常的麻烦,需要修改里面的代码,编译出class,需要重新打包插件。然后把之前的删除,重新安装最新的。调试过程比较繁琐,而且不能调试,十分的不方便。下面给大家介绍如何调试插件。 需要工具:eclipse,finereport报表工具 具体说明 1、 新建工程 新建java工程,在

  • 有没有办法调试JSX文件? 我看不见那张照片。当我查看safari/chrome中的resources选项卡时,会看到jsx文件。我们能用调试器吗?

  • 当你的插件完成了开发和打包,请务必使用FastAdmin完整包进行全新离线插件测试。 完整包测试 FastAdmin完整包下载地址 https://www.fastadmin.net/download/full.html 注意使用完整包测试时请使用全新的数据库进行测试,而不是使用已有的数据库进行测试。 同时务必在开启Mysql严格模式下进行相关功能测试。 二级目录 插件必须支持在二级目录下能正常浏