我将项目使用的 SDK 升级到 Java 10。以下导入语句导致错误:
导入 javax.annotation.PostConstruct;
包 'javax.annotation' 在模块 'java.xml.ws.annotation' 中声明,但模块 'application' 不读取它
按 ALT+ENTER 让 Intellij 修复它,我收到以下选项:
我选择Add Maven Dependency...并将以下依赖项添加到 pom.xml。
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>1.3.2</version>
</dependency>
查看新添加的 JAR 的 MANIFEST.MF,我注意到该模块的名称是 java.annotation。
所以我添加requires java.annotation到module-info.java。
module application {
requires java.annotation;
}
当我 CTRL+点击时requires java.annotation:
Intellij 正确导航到 JAR:
所以看起来我的模块名称是正确的,javax.annotation:javax.annotation-api
并且可以用于我的模块。不幸的是,错误import javax.annotation.PostConstruct
并没有消失。为了确认我的模块描述符工作正常,我添加了其他指令,并且一切正常。我还添加了指令requires java.xml.ws.annotation
,
这使得导入语句错误消失,但是,当然,这不是一个令人满意的解决方案,因为 java.xml.ws.annotation 已被弃用并标记为删除。
相关分类