首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Intellij:如何为java.annotation添加javax.annotation.PostConstruct模块

Intellij:如何为java.annotation添加javax.annotation.PostConstruct模块
EN

Stack Overflow用户
提问于 2018-08-29 19:21:28
回答 1查看 16.3K关注 0票数 6

我将我的项目使用的SDK升级为Java 10。

进口javax.annotation.PostConstruct;

包'javax.annotation‘是在模块’java.xml.ws.注释‘中声明的,但是模块'application’不读取它。

通过点击ALT+ENTER让Intellij修复它,我收到了以下选项:

我选择了Add Maven Dependency...,下面的依赖项被添加到pom.xml中。

代码语言:javascript
复制
<dependency>
    <groupId>javax.annotation</groupId>
    <artifactId>javax.annotation-api</artifactId>
    <version>1.3.2</version>
</dependency>

查看新添加的JAR的MANIFEST.MF,我注意到模块名为java.annotation。

因此,我将requires java.annotation添加到模块-info.java中。

代码语言:javascript
复制
module application {
    requires java.annotation;
}

当我在CTRL+clicked on requires java.annotation时:

Intellij正确地导航到JAR:

因此,看来我的模块名是正确的,并且我的模块可以使用javax.annotation:javax.annotation-api。不幸的是,import javax.annotation.PostConstruct上的错误并没有消失。为了确认我的模块描述符是否正常工作,我添加了其他指令,所有指令都正常工作。我还添加了指令requires java.xml.ws.annotation

这使得导入语句错误消失,但是,当然,这不是一个令人满意的解决方案,因为java.xml.ws.annotation被废弃并标记为删除。

对于如何解决这个问题,有什么想法吗?我需要能够将模块java.annotation提供给模块application,从我已经阅读过的这里这里以及这里这里中可以看出,方法是向模块路径中添加一个JAR,而从我所读到的这里中,必须通过模块-info.java中的指令引用新添加的模块。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-24 19:28:16

IntelliJ思想的问题在于它知道JDK/jmods/java.xml.ws.annotation.jmod中的模块,即使在运行时它将被禁用。只需在Java定义中注释掉Java项目结构中的java.xml.ws.annotation jmod即可。

详细步骤:

添加Maven依赖项:

代码语言:javascript
复制
<dependency>
    <groupId>javax.annotation</groupId>
    <artifactId>javax.annotation-api</artifactId>
    <version>1.3.2</version>
</dependency>

module-info依赖关系:

代码语言:javascript
复制
requires java.annotation;

就像你已经做的那样。

然后,停止IntelliJ的想法,转到您的IntelliJ JDK配置文件(即C:\Users\YOUR_NAME\.IntelliJ2018\config\options\jdk.table.xml,并使用java.xml.ws.annotation.jmod引用注释行):

代码语言:javascript
复制
<!-- <root url="jrt://C:/Java-Training/JDK!/java.xml.ws.annotation" type="simple" /> -->

IntelliJ将不再见java.xml.ws.annotation。重启后,一切都会好起来的。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52084698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档