jaxb2-basics-annotate с конфигурацией jaxws-maven-plugin

У меня есть конфигурация maven с использованием jaxws-maven-plugin для генерации файлов классов из wsdl.

Я пытаюсь заставить плагин jaxb2-basics-annotate работать с поколением, чтобы позволить мне добавить некоторые аннотации к сгенерированному выводу.

Конкретная конфигурация плагина:

   <pluginManagement>
        <plugins>
            <plugin>
                <!-- This is the WSIMPORT plugin used to generate code from WSDL -->
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>jaxws-maven-plugin</artifactId>
                <version>2.4.1</version>
                <configuration>
                    <!-- Keep generated files -->
                    <keep>true</keep>
                    <!-- generated source files destination-->
                    <sourceDestDir>target/generated-sources</sourceDestDir>
                    <!-- this is so the xsd files can be accessed -->
                    <vmArgs>
                        <vmArg>-Djavax.xml.accessExternalSchema=all</vmArg>
                    </vmArgs>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>

...

           <groupId>org.codehaus.mojo</groupId>
            <artifactId>jaxws-maven-plugin</artifactId>
            <dependencies>
                <dependency>
                    <groupId>org.jvnet.jaxb2_commons</groupId>
                    <artifactId>jaxb2-basics-annotate</artifactId>
                    <version>1.0.2</version>
                </dependency>
            </dependencies>
            <executions>
                <execution>
                    <id>travel-itinerary</id>
                    <goals>
                        <goal>wsimport</goal>
                    </goals>
                    <configuration>
                        <extension>true</extension>
                        <!--<args>-->
                            <!--<arg>-Xannotate</arg>-->
                        <!--</args>-->

Когда я закомментирую аргументы, я получаю следующую ошибку:

[ОШИБКА] Для использования настроек " http://annox.dev.java.net/" требуется ключ "-Xannotate", чтобы включить этот плагин.

Когда я использую args, я получаю следующее сообщение об ошибке:

нераспознанный параметр -Xannotate

Использование: wsimport [опции]

где [варианты] включают в себя:

Я был бы очень признателен, если бы кто-то мог заполнить пробел в моей конфигурации, чтобы плагин аннотации работал с плагином jaxws-maven-plugin.

1 ответ

Мне потребовалось некоторое время, но, наконец, я нашел комбинацию, которая работает для меня: вероятно, самое важное - сделать и то, и другое: определить xjcArg: -Xannotate и определить зависимость от org.jvnet.jaxb2_commons:jaxb2-basics-annotate в плагине определение.

Я нашел решение здесь. Добавляя -Dcom.sun.tools.xjc.XJCFacade.nohack=true Системное свойство, я смог решить проблему.

Вы можете установить флаги -X на xjcArgs вместо args

 <xjcArgs>
    <xjcArg>-Xannotate</xjcArg>
 </xjcArgs>
Другие вопросы по тегам