javax.xml.bind
我将所有其他主题都涂红了(可能适用于 jdk 10),但在jdk 11上运行仍然存在问题。
我的依赖:
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.4.0-b180830.0359</version> <!-- 2.2.12, 2.3.1 -->
</dependency>
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>2.4.0-b180830.0438</version> <!-- 2.3.1 -->
<!--<scope>compile</scope>-->
<!--<scope>runtime</scope>-->
</dependency>
<dependency>
<groupId>javax.activation</groupId>
<artifactId>javax.activation-api</artifactId>
<version>1.2.0</version>
</dependency>
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>1.3.2</version>
</dependency>
我的 IDE(最新的 intellij)仍然看不到导入:
import javax.xml.bind.annotation.XmlAccessType;
我的 module-info.java 也没有看到:
requires java.xml.bind;
当我使用 maven 时出现错误:
[错误] ...ExceptionType.java:[6,22] 包 javax.xml.bind.annotation 不可见(包 javax.xml.bind.annotation 在未命名的模块中声明,但模块 javax.xml.bind.注释不读)
有人在 jdk 11 上运行它吗?
编辑:1)带有java模块系统的应用程序版本:我有类似的问题: https : //youtrack.jetbrains.com/issue/IDEA-197956 但我的错误信息有点不同
2)没有java模块系统的应用版本:Maven编译正确。问题是 intellij 看不到我的导入:
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
并说:无法解析符号。同样在文件 > 项目结构 > 模块 > 依赖项 intellij 没有添加 javax.xml.bind 和 org.glassfish.jaxb 为什么?我在pom中添加了这个:
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.4.0-b180830.0359</version> <!-- 2.2.8, 2.4.0-b180830.0359 -->
</dependency>
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>2.4.0-b180830.0438</version> <!-- 2.3.0, 2.4.0-b180830.0438 -->
</dependency>
JDK:openjdk11 Intellij 版本:IntelliJ IDEA 2018.2.4(终极版),Build #IU-182.4505.22,构建于 2018 年 9 月 18 日,JRE:1.8.0_152-release-1248-b8 amd64 JVM:OpenJDK 64-Bit Server JetBrains sro Maven 的 VM:3.5.4
这似乎是一个智能错误。