org.xml.sax.SAXParseException:具有相同名称“ <className>”的类/接口已在使用中与“ mvn generate-sources”

问题描述

当我尝试生成新的波兰增值税xsd配置(来自波兰增值税部长级)时,出现错误

[INFO] --- jaxb2-maven-plugin:2.5.0:xjc (XJC-SAFT-PL-V7-10-VAT) @ igf.fi.service ---
[INFO] Created EpisodePath [C:\repository\git.infor.com\product\source\server\igf.fi\igf.fi.service\target\generated-sources\jaxb\meta-inf\JAXB]: true
[ERROR] file:/C:/repository/git.infor.com/product/source/server/igf.fi/igf.fi.service/src/main/xsd/saft/pl/v7version10/vat/schemat_jpk_v7m-1-_v1-2E.xsd [165,58]
org.xml.sax.SAXParseException: Eine Klasse/Schnittstelle mit demselben Namen "pl.saft.v7version10.vat.TIdentyfikatorOsobyNiefizycznej" wird bereits verwendet. Verwenden Sie eine Klassenanpassung,um diesen Konflikt zu l▒sen.
    at com.sun.tools.xjc.util.codemodelClassFactory.createClass (codemodelClassFactory.java:92)
    at com.sun.tools.xjc.util.codemodelClassFactory.createClass (codemodelClassFactory.java:52)
    at com.sun.tools.xjc.generator.bean.ImplStructureStrategy$1.createClasses (ImplStructureStrategy.java:52)
    at com.sun.tools.xjc.generator.bean.BeanGenerator.generateClassDef (BeanGenerator.java:416)
    at com.sun.tools.xjc.generator.bean.BeanGenerator.getClazz (BeanGenerator.java:448)
    at com.sun.tools.xjc.generator.bean.BeanGenerator.<init> (BeanGenerator.java:169)
    at com.sun.tools.xjc.generator.bean.BeanGenerator.generate (BeanGenerator.java:141)
    at com.sun.tools.xjc.model.Model.generateCode (Model.java:258)
    at com.sun.tools.xjc.Driver.run (Driver.java:354)
    at org.codehaus.mojo.jaxb2.javageneration.AbstractJavaGeneratorMojo.performExecution (AbstractJavaGeneratorMojo.java:475)
    at org.codehaus.mojo.jaxb2.AbstractJaxbMojo.execute (AbstractJaxbMojo.java:337)
    at org.apache.maven.plugin.DefaultBuildpluginManager.executeMojo (DefaultBuildpluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
[ERROR] http://crd.gov.pl/wps/PA_E2_PI/zalacznik_oi/zalacznik_oi_1983 [361,57]
org.xml.sax.SAXParseException: eine weitere "TIdentyfikatorOsobyNiefizycznej" wird von hier

这是由于重复的类名(我想是在xsd的导入中)

我试图通过绑定(在bindings.xml中)解决相同的类名:

<jxb:bindings scd="x-schema::main" xmlns:main="http://crd.gov.pl/wzor/2020/05/08/9394/"> 
    node="/xs:schema">
    <jxb:schemaBindings>
        <jxb:package name="pl.saft.v7version10k.vat"/>
    </jxb:schemaBindings>
</jxb:bindings>
<jxb:bindings scd="x-schema::sub" xmlns:sub="http://crd.gov.pl/xml/schematy/dziedziNowe/mf/2020/03/11/eD/DefinicjeTypy/"> 
    node="/xs:schema">
    <jxb:schemaBindings>
        <jxb:package name="pl.saft.v7version10k.common"/>
    </jxb:schemaBindings>
</jxb:bindings>

但是这是行不通的,因为无法绑定来自 http://crd.gov.pl/wps/PA_E2_PI/zalacznik_oi/zalacznik_oi_1983/StrukturyDanych_v6-0E.xsd

如何将这些源绑定到另一个软件包?

任何类似绑定的东西:

<jxb:bindings scd="x-schema::sub2" xmlns:sub2="http://crd.gov.pl/wps/PA_E2_PI/zalacznik_oi/zalacznik_oi_1983/"> 
    node="/xs:schema">
    <jxb:schemaBindings>
        <jxb:package name="pl.saft.v7version10k.common2"/>
    </jxb:schemaBindings>
</jxb:bindings>

不起作用。

那我该怎么办?

附录:

给定的xsd文件的第一行:

<?xml version="1.0" encoding="UTF-8"?><xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:etd="http://crd.gov.pl/xml/schematy/dziedziNowe/mf/2020/03/11/eD/DefinicjeTypy/" xmlns:tns="http://crd.gov.pl/wzor/2020/05/08/9393/" targetNamespace="http://crd.gov.pl/wzor/2020/05/08/9393/" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0" xml:lang="pl">
    <xsd:import namespace="http://crd.gov.pl/xml/schematy/dziedziNowe/mf/2020/03/11/eD/DefinicjeTypy/" schemaLocation="http://crd.gov.pl/xml/schematy/dziedziNowe/mf/2020/03/11/eD/DefinicjeTypy/StrukturyDanych_v6-0E.xsd"/>
    <xsd:simpleType name="TKodFormularza">
        <xsd:annotation>
            <xsd:documentation>Symbol wzoru formularza</xsd:documentation> 

使用的Java-版本:

openjdk版本“ 11.0.3” 2019-04-16 LTS

OpenJDK运行时环境Corretto-11.0.3.7.1(内部版本11.0.3 + 7-LTS)

OpenJDK 64位服务器VM Corretto-11.0.3.7.1(内部版本11.0.3 + 7-LTS,混合模式)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...