在jdk1.6和maven 3.0.3中执行时出现maven-jaxb1-plugin错误

时间:2013-06-12 17:32:09

标签: java maven jaxb

我正在运行maven脚本,该脚本使用maven-jaxb1-plugin版本1.0.rc-11从xsd生成jaxb类。该脚本在java版本1.4和maven版本小于3时成功运行。现在,在java版本1.6和maven版本3.0.3环境中运行相同的脚本会抛出异常**

  

执行时缺少必需的类   org.jvnet.jaxb1.maven2:行家-jaxb1-插件:1.0.rc-11:生成:com.sun.msv.grammar.Grammar

** 这个插件的所有依赖项都可以在我的repository中找到。还是我收到了这个错误。

下面是我的pom.xml

<dependencies>
    <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>1.0</version>
    </dependency>
    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-impl</artifactId>
        <version>1.0.6</version>
    </dependency>
    <dependency>
        <groupId>javax.xml.parsers</groupId>
        <artifactId>jaxp-api</artifactId>
        <version>1.4</version>
    </dependency>
</dependencies>
<build>
    <plugins>
        <plugin>
            <groupId>org.jvnet.jaxb1.maven2</groupId>
            <artifactId>maven-jaxb1-plugin</artifactId>
            <version>1.0.rc-11</version>
            <executions>
                <execution>
                    <configuration>
                        <schemaIncludes>
                            <include>response.xsd</include>
                        </schemaIncludes>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

是不是像maven-jaxb1-plugin不能在jdk1.6和maven 3.0.3环境中使用。非常感谢,非常感谢。

1 个答案:

答案 0 :(得分:0)

根据findjar.com,com.sun.msv.grammar.Grammar中缺少jaxb1-impl.jar所缺少的类:

http://www.findjar.com/class/com/sun/msv/grammar/Grammar.html

jaxb-impl.jar中似乎没有该类:

http://mvnrepository.com/artifact/com.sun.xml.bind/jaxb-impl/1.0.6

它确实出现在jaxb1-impl.jar

http://mvnrepository.com/artifact/com.sun.xml.bind/jaxb1-impl/2.0

所以也许可以将你的依赖关系改为:

<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb1-impl</artifactId>
    <version>2.0</version>
</dependency>