问题描述
当我尝试生成新的波兰增值税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 (将#修改为@)