我需要使用最新版本的jaxb:2.2.4-1,但maven或maven-jaxb2-plugin似乎從JDK中選擇了一個。如何在maven-jaxb2-plugin中指定JAXB版本?
我試圖指定的版本是這樣的:
<configuration>
<specVersion>2.2</specVersion>
...
</configuration>
但日誌閱讀:
[INFO] [jaxb2:generate {execution: common}]
[INFO] Started execution.
[INFO] JAXB API is loaded from the [jar:file:/opt/jdk1.6.0_24/jre/lib/rt.jar!].
[INFO] Detected JAXB API version [2.1].
我試圖依賴添加到正確的版本javax.xml.bind中的:JAXB的API和com.sun.xml.bind:jaxb-impl,但這沒有幫助。
<plugins>
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<version>0.8.0</version>
<dependencies>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.2.4</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.2.4-1</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>common</id>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<specVersion>2.2</specVersion>
...
</configuration>
</execution>
</executions>
</plugin>
</plugins>
我也嘗試過使用maven-jaxb22插件,但它也沒有工作。
有趣的想法。我會試試看。 同時,我恢復使用antrun ...它的作品,但它不是很好。 – ivant
我也嘗試了這種方法,甚至使用了特定的maven-jaxb22插件,但我仍然獲得了JDK檢測版本。 – Lyle