jdk 11 - 包 javax.xml.bind.annotation 在未命名模块中声明,但模块 javax.xml.bind.annotation 未读取它
jdk 11 - package javax.xml.bind.annotation is declared in the unnamed module, but module javax.xml.bind.annotation does not read it
我红色了所有其他主题(可能适用于 jdk 10)并且在 jdk 11[= 上 运行 javax.xml.bind
仍然有问题45=].
我的依赖:
<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;
我的模块 -info.java 也没有看到:
requires java.xml.bind;
当我使用 maven 时出现错误:
[ERROR] ...ExceptionType.java:[6,22] package javax.xml.bind.annotation is not visible
(package javax.xml.bind.annotation is declared in the unnamed module, but module javax.xml.bind.annotation does not read it)
有人 运行 它在 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: 打开jdk11
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 JetBrains s.r.o 64 位服务器 VM
Maven:3.5.4
这似乎是一个 intellij 错误。
我们设法找到了问题的原因。在 ide intellij 我有一个模块 maven 项目,我使用 JLupin 平台开发工具,所以在 *.iml 文件中我没有行:
'<'模块org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule = "true" type = "JAVA_MODULE" version = "4">
但我有例如:
'<'模块org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule = "true" type = "JLP_NATIVE_MICROSERVICE_IMPLEMENTATION_MODULE_TYPE" version = "4">
开发的时候改了modules的名字,然后idea问是否去掉modules(因为ide没认出来:
类型 =“JLP_NATIVE_MICROSERVICE_IMPLEMENTATION_MODULE_TYPE”)。
虽然选择的选项不是,然后ide自动执行:
- 选择忽略 Maven 模块
- 在 iml 文件中替换为:
'<'module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule = "true" type = "JLP_NATIVE_MICROSERVICE_IMPLEMENTATION_MODULE_TYPE" version = "4">
到:
'<'模块类型=“JLP_NATIVE_MICROSERVICE_IMPLEMENTATION_MODULE_TYPE”版本=“4”>
由于上述原因,项目没有正确读取maven artifacts。统一名称并将项目标记为未忽略后,它可以正常工作。
该问题与 java 软件包
无关
编辑:如上解决
切换回 JDK 1.8,它为我解决了这个问题。如何切换 ubuntu:https://askubuntu.com/questions/740757/switch-between-multiple-java-versions
我红色了所有其他主题(可能适用于 jdk 10)并且在 jdk 11[= 上 运行 javax.xml.bind
仍然有问题45=].
我的依赖:
<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;
我的模块 -info.java 也没有看到:
requires java.xml.bind;
当我使用 maven 时出现错误:
[ERROR] ...ExceptionType.java:[6,22] package javax.xml.bind.annotation is not visible (package javax.xml.bind.annotation is declared in the unnamed module, but module javax.xml.bind.annotation does not read it)
有人 运行 它在 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: 打开jdk11 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 JetBrains s.r.o 64 位服务器 VM Maven:3.5.4
这似乎是一个 intellij 错误。
我们设法找到了问题的原因。在 ide intellij 我有一个模块 maven 项目,我使用 JLupin 平台开发工具,所以在 *.iml 文件中我没有行:
'<'模块org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule = "true" type = "JAVA_MODULE" version = "4"> 但我有例如:
'<'模块org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule = "true" type = "JLP_NATIVE_MICROSERVICE_IMPLEMENTATION_MODULE_TYPE" version = "4">
开发的时候改了modules的名字,然后idea问是否去掉modules(因为ide没认出来:
类型 =“JLP_NATIVE_MICROSERVICE_IMPLEMENTATION_MODULE_TYPE”)。 虽然选择的选项不是,然后ide自动执行:
- 选择忽略 Maven 模块
- 在 iml 文件中替换为: '<'module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule = "true" type = "JLP_NATIVE_MICROSERVICE_IMPLEMENTATION_MODULE_TYPE" version = "4"> 到: '<'模块类型=“JLP_NATIVE_MICROSERVICE_IMPLEMENTATION_MODULE_TYPE”版本=“4”>
由于上述原因,项目没有正确读取maven artifacts。统一名称并将项目标记为未忽略后,它可以正常工作。 该问题与 java 软件包
无关编辑:如上解决
切换回 JDK 1.8,它为我解决了这个问题。如何切换 ubuntu:https://askubuntu.com/questions/740757/switch-between-multiple-java-versions