jaxb2-maven-plugin всегда выводит предупреждение при генерации bean-компонентов из XSD - PullRequest
7 голосов
/ 11 августа 2010

Я пытаюсь сгенерировать bean-компоненты из xsd с помощью подключаемого модуля jaxb2-maven-plugin maven, однако каждый раз, когда генерируются bean-компоненты, я получаю следующее предупреждение.Обратите внимание, что результат bean работает. Кто-нибудь знает, почему это происходит?

--snip--
[INFO]    task-segment: [deploy]
[INFO] ------------------------------------------------------------------------
[INFO] [jaxb2:xjc {execution: default}]
[INFO] Generating source...
[INFO] parsing a schema...
[INFO] compiling a schema...
[WARNING] null[-1,-1]
org.xml.sax.SAXParseException: generating code
        at com.sun.tools.xjc.ErrorReceiver.debug(ErrorReceiver.java:113)
        at com.sun.tools.xjc.Driver.run(Driver.java:315)
        at org.codehaus.mojo.jaxb2.XjcMojo.execute(XjcMojo.java:301)
        at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
--snip--

Это конфигурация в pom.xml

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>jaxb2-maven-plugin</artifactId>
            <version>1.2</version>
            <executions>
                <execution>
                    <goals>
                        <goal>xjc</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <packageName>com.some.package.jaxb</packageName>
                <verbose>true</verbose>
            </configuration>
        </plugin>

Хотя я думаю, что технически использую 2.0.3 (не 2.0), вот строка кода, которая запускает эту проблему: http://grepcode.com/file/repo1.maven.org/maven2/com.sun.xml.bind/jaxb-xjc/2.0/com/sun/tools/xjc/Driver.java#315

** Если я установлю verbose в false в pom, я не получу предупреждение.Это просто небрежный механизм регистрации?**

Спасибо

- Матиас

Ответы [ 2 ]

9 голосов
/ 04 мая 2011

«Проблема» заключается в том, что для параметра verbose задано значение true - если вы его уберете, предупреждение исчезнет.

5 голосов
/ 18 августа 2010

@ lexicore, вы правы. Кажется, что ваш «де-факто» стандарт на самом деле лучший выбор и работает так же хорошо. Для записи это хорошее прочтение о различиях .

Это конфигурация, которую я использовал. У меня были проблемы с отслеживанием репо. Надеюсь, это кому-нибудь поможет:

        <plugin>
            <groupId>org.jvnet.jaxb2.maven2</groupId>
            <artifactId>maven-jaxb2-plugin</artifactId>
            <version>0.7.4</version>
            <executions>
                <execution>
                    <goals>
                        <goal>generate</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <verbose>true</verbose>
                <schemaDirectory>src/main/xsd</schemaDirectory>
                <generatePackage>com.ninja.jaxb</generatePackage>
            </configuration>
        </plugin>
 ...
<repositories>
    <repository>
        <id>maven-repo2</id>
        <name>Maven Repository</name>
        <url>http://repo2.maven.org/maven2</url>
    </repository>
</repositories>
...