Java 8 中使用了哪个 JAXB 版本?
Which JAXB version was used in Java 8?
JAXB(Java XML 绑定的体系结构)已作为 Maven 工件发布,尽管它在 Java 8(和 Java 9/10)之前与 JRE 捆绑在一起有一个选项)。
我的问题是:Maven Central 上的哪个 JAXB 版本对应于 Java 8 的捆绑版本? (而且,还有 Java 9/10 的功能选项?)
我在 https://mvnrepository.com/artifact/javax.xml.bind/jaxb-api 中看到:
- 2.2.* (~ 2.2.12)
- 2.3.0
- 2.3.1
- 2.4.0-*(开发中)
- (3.0.0 为
jakarta.xml.*
)
至于 Java 8:
$ $(/usr/libexec/java_home -v 1.8)/bin/xjc -version
xjc 2.2.8-b130911.1802
记录在案 here 指定 Maven 坐标:
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-bom</artifactId>
<version>2.2.8</version>
<type>pom</type>
</dependency>
虽然
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.2.8</version>
<scope>provided</scope>
</dependency>
对于 Java 8 是准确的。对于 Java 9+,最新可用的(如您观察到的)是:
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.4.0-b180830.0359</version>
</dependency>
JAXB(Java XML 绑定的体系结构)已作为 Maven 工件发布,尽管它在 Java 8(和 Java 9/10)之前与 JRE 捆绑在一起有一个选项)。
我的问题是:Maven Central 上的哪个 JAXB 版本对应于 Java 8 的捆绑版本? (而且,还有 Java 9/10 的功能选项?)
我在 https://mvnrepository.com/artifact/javax.xml.bind/jaxb-api 中看到:
- 2.2.* (~ 2.2.12)
- 2.3.0
- 2.3.1
- 2.4.0-*(开发中)
- (3.0.0 为
jakarta.xml.*
)
至于 Java 8:
$ $(/usr/libexec/java_home -v 1.8)/bin/xjc -version
xjc 2.2.8-b130911.1802
记录在案 here 指定 Maven 坐标:
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-bom</artifactId>
<version>2.2.8</version>
<type>pom</type>
</dependency>
虽然
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.2.8</version>
<scope>provided</scope>
</dependency>
对于 Java 8 是准确的。对于 Java 9+,最新可用的(如您观察到的)是:
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.4.0-b180830.0359</version>
</dependency>