Jaxb / xjc generate non final classes












0















I'm using Jaxb and the org.jvnet.jaxb2_commons.xjc.XJC2Task to generate classes from a given WSDL.



The schema to be implemented contains multiple classes that inherit from one another. The problem is: the jaxb plugin generates all classes as final, but still keeps the inheritance info - so the generate code contains multiple instances of



public final class BaseClass {}
public final class SomeClass extends BaseClass {}


which does not compile.



I cannot find any meaningfull documentation for any arguments to pass to the task to make the classes non final.
This is how we were doing it in our build.gradle up until now:



jaxb {
xsdDir = "src/main/resources/schemas"
xjc {
destinationDir = "build/generated/java"
producesDir = "build/generated/java"
generatePackage = 'com.company.generated.soap.types'
taskClassname = 'org.jvnet.jaxb2_commons.xjc.XJC2Task'
args = ['-Xinheritance', '-Xannotate', '-immutable', '-imm-builder']
}
}


is there a way to make this work?










share|improve this question



























    0















    I'm using Jaxb and the org.jvnet.jaxb2_commons.xjc.XJC2Task to generate classes from a given WSDL.



    The schema to be implemented contains multiple classes that inherit from one another. The problem is: the jaxb plugin generates all classes as final, but still keeps the inheritance info - so the generate code contains multiple instances of



    public final class BaseClass {}
    public final class SomeClass extends BaseClass {}


    which does not compile.



    I cannot find any meaningfull documentation for any arguments to pass to the task to make the classes non final.
    This is how we were doing it in our build.gradle up until now:



    jaxb {
    xsdDir = "src/main/resources/schemas"
    xjc {
    destinationDir = "build/generated/java"
    producesDir = "build/generated/java"
    generatePackage = 'com.company.generated.soap.types'
    taskClassname = 'org.jvnet.jaxb2_commons.xjc.XJC2Task'
    args = ['-Xinheritance', '-Xannotate', '-immutable', '-imm-builder']
    }
    }


    is there a way to make this work?










    share|improve this question

























      0












      0








      0








      I'm using Jaxb and the org.jvnet.jaxb2_commons.xjc.XJC2Task to generate classes from a given WSDL.



      The schema to be implemented contains multiple classes that inherit from one another. The problem is: the jaxb plugin generates all classes as final, but still keeps the inheritance info - so the generate code contains multiple instances of



      public final class BaseClass {}
      public final class SomeClass extends BaseClass {}


      which does not compile.



      I cannot find any meaningfull documentation for any arguments to pass to the task to make the classes non final.
      This is how we were doing it in our build.gradle up until now:



      jaxb {
      xsdDir = "src/main/resources/schemas"
      xjc {
      destinationDir = "build/generated/java"
      producesDir = "build/generated/java"
      generatePackage = 'com.company.generated.soap.types'
      taskClassname = 'org.jvnet.jaxb2_commons.xjc.XJC2Task'
      args = ['-Xinheritance', '-Xannotate', '-immutable', '-imm-builder']
      }
      }


      is there a way to make this work?










      share|improve this question














      I'm using Jaxb and the org.jvnet.jaxb2_commons.xjc.XJC2Task to generate classes from a given WSDL.



      The schema to be implemented contains multiple classes that inherit from one another. The problem is: the jaxb plugin generates all classes as final, but still keeps the inheritance info - so the generate code contains multiple instances of



      public final class BaseClass {}
      public final class SomeClass extends BaseClass {}


      which does not compile.



      I cannot find any meaningfull documentation for any arguments to pass to the task to make the classes non final.
      This is how we were doing it in our build.gradle up until now:



      jaxb {
      xsdDir = "src/main/resources/schemas"
      xjc {
      destinationDir = "build/generated/java"
      producesDir = "build/generated/java"
      generatePackage = 'com.company.generated.soap.types'
      taskClassname = 'org.jvnet.jaxb2_commons.xjc.XJC2Task'
      args = ['-Xinheritance', '-Xannotate', '-immutable', '-imm-builder']
      }
      }


      is there a way to make this work?







      jaxb xjc jaxb2-maven-plugin






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 15 '18 at 11:20









      billdoorbilldoor

      88911237




      88911237
























          0






          active

          oldest

          votes











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53318336%2fjaxb-xjc-generate-non-final-classes%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes
















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53318336%2fjaxb-xjc-generate-non-final-classes%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Florida Star v. B. J. F.

          Danny Elfman

          Lugert, Oklahoma