【问题标题】:jaxb2-maven-plugin always prints warning when generating beans from XSD从 XSD 生成 bean 时,jaxb2-maven-plugin 总是打印警告
【发布时间】:2011-03-28 03:09:42
【问题描述】:

我正在尝试使用 jaxb2-maven-plugin maven 插件从 xsd 生成 bean,但是每次生成 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

**如果我在 pom 中将 verbose 设置为 false,我不会收到警告。这只是一个草率的日志记录机制吗? **

谢谢

--马蒂亚斯

【问题讨论】:

标签: jaxb maven-plugin


【解决方案1】:

“问题”在于详细选项设置为 true - 如果您将其删除,警告就会消失。

【讨论】:

    【解决方案2】:

    @lexicore,你是对的。看起来您的“事实上的”标准实际上是一个更好的选择,并且效果一样好。作为记录,这是关于 differences 的好读物。

    这是我使用的配置。我无法追踪它所在的回购协议。希望这可以帮助某人:

            <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>
    

    【讨论】:

    • 您为另一个 maven 插件(使用 groupId org.jvnet.jaxb2.maven2 而不是 org.codehaus.mojo)提供了解决方案。
    猜你喜欢
    • 2013-12-18
    • 2015-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-31
    • 1970-01-01
    • 2011-12-30
    • 1970-01-01
    相关资源
    最近更新 更多