mojohaus / jaxb2-maven-plugin

JAXB2 Maven Plugin
https://www.mojohaus.org/jaxb2-maven-plugin/
Apache License 2.0
103 stars 76 forks source link

JAXB Maven plugin won't generate Java Enum #270

Open oliverunger opened 10 months ago

oliverunger commented 10 months ago

I have the following snippet in my xsd file. I would expect that it generates a Java Enum with the two elements STANDALONE and CONNECTED.

<xs:attribute name="Sample">
  <xs:annotation>
    <xs:documentation>A sample</xs:documentation>
  </xs:annotation>
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:enumeration value="Standalone"/>
      <xs:enumeration value="Connected"/>
    </xs:restriction>
  </xs:simpleType>
</xs:attribute>

I'm using jaxb2-maven-plugin version 3.1.0

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>jaxb2-maven-plugin</artifactId>
  <executions>
    <execution>
      <id>gen-infrastructure</id>
      <goals>
        <goal>xjc</goal> <!-- Generates Java sources from XML Schema(s). -->
      </goals>
      <configuration>
        <locale>en,US</locale>
        <xjbSources>
          <xjbSource>src/main/resources/schema/xsd/sample.xjb</xjbSource>
        </xjbSources>
        <sources>
          <source>src/main/resources/schema/xsd/sample.xsd</source>
        </sources>
        <!-- The package of your generated sources -->
        <packageName>com.company.sample.model.pojos</packageName>
      </configuration>
    </execution>
  </executions>
  <configuration>
    <noGeneratedHeaderComments>true</noGeneratedHeaderComments>
    <clearOutputDir>false</clearOutputDir>
  </configuration>
</plugin>
tstuber commented 6 months ago

I faced the same issue. The following schema changes solved my issue:

oliverunger commented 6 months ago

@tstuber Does not change anything for me

lwiechec commented 2 weeks ago

@oliverunger I have similar issue, it looks like this is the default behaviour of xjc (if I am wrong here, please correct me).

You can still configure xjc to generate enums through binding configuration (general info). Maybe this post would be helpful?