Fedor Kolchenko created CXFXJC-50: ------------------------------------- Summary: Generating sources is not working if elements name diffs only in register Key: CXFXJC-50 URL: https://issues.apache.org/jira/browse/CXFXJC-50 Project: CXF XJC Utils Issue Type: Bug Components: Maven Plugin Affects Versions: 4.0.2 Environment: OS - Windows 10
Maven - apache-maven-3.6.3 JDK - amazon corretto 21.0.5 extensions and args: {code:xml} <extensions> <extension>org.jvnet.jaxb2_commons:jaxb2-fluent-api:3.0</extension> <extension>org.jvnet.jaxb2_commons:jaxb2-namespace-prefix:2.0</extension> </extensions> ... <extensionArgs> <extensionArg>-extension</extensionArg> <extensionArg>-no-header</extensionArg> <extensionArg>-XautoNameResolution</extensionArg> <extensionArg>-npa</extensionArg> </extensionArgs>{code} Reporter: Fedor Kolchenko It is not possible to generate java classes from XSD if the _complexType_ contains two {_}element{_}s with a name that differ only by register. Example (xsd part): {code:xml} <xs:complexType> <xs:sequence> <xs:element name="TEST_test"> <xs:simpleType> <xs:restriction base="xs:string"/> </xs:simpleType> </xs:element> <xs:element name="test_test" type="xs:string" minOccurs="1"/> </xs:sequence> </xs:complexType> {code} Without -X mvn flag its not posible to know why sources not generating - i got only _Failed to execute goal org.apache.cxf:cxf-xjc-plugin:4.0.2:xsdtojava (Exit code: 1)._ Enabling -X flag show logs: {code:java} Exception in thread "main" java.lang.IllegalArgumentException: trying to create the same field twice: testTest at com.sun.codemodel.JDefinedClass.field(JDefinedClass.java:414) at com.sun.codemodel.JDefinedClass.field(JDefinedClass.java:385) at com.sun.tools.xjc.generator.bean.field.AbstractFieldWithVar.createField(AbstractFieldWithVar.java:46) at com.sun.tools.xjc.generator.bean.field.SingleField.<init>(SingleField.java:64) at com.sun.tools.xjc.generator.bean.field.SingleField.<init>(SingleField.java:51) at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62) at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:486) at com.sun.tools.xjc.generator.bean.field.GenericFieldRenderer.generate(GenericFieldRenderer.java:39) at com.sun.tools.xjc.generator.bean.field.DefaultFieldRenderer.generate(DefaultFieldRenderer.java:52) at com.sun.tools.xjc.generator.bean.BeanGenerator.generateFieldDecl(BeanGenerator.java:751) at com.sun.tools.xjc.generator.bean.BeanGenerator.generateClassBody(BeanGenerator.java:532) at com.sun.tools.xjc.generator.bean.BeanGenerator.<init>(BeanGenerator.java:233) at com.sun.tools.xjc.generator.bean.BeanGenerator.generate(BeanGenerator.java:141) at com.sun.tools.xjc.model.Model.generateCode(Model.java:258) at org.apache.cxf.maven_plugin.XSDToJavaRunner.run(XSDToJavaRunner.java:179) at org.apache.cxf.maven_plugin.XSDToJavaRunner.main(XSDToJavaRunner.java:360) {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)