我正在运行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环境中使用。非常感谢,非常感谢。
答案 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>