首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我不能在Java 11中使用@PostConstruct和@PostDestroy

我不能在Java 11中使用@PostConstruct和@PostDestroy
EN

Stack Overflow用户
提问于 2018-10-08 19:40:35
回答 3查看 19.9K关注 0票数 31

我在项目中使用@PostConstruct@PostDestroy注解时遇到了问题。我不能使用这些注解,尽管我导入了Java的注解,但看起来这些注解并不存在。我使用的是Java11,这是我的build.gradle文件的内容:

代码语言:javascript
运行
复制
dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.11'
    testCompile group: 'junit', name: 'junit', version: '4.12'
    compile group: 'org.springframework', name: 'spring-webmvc', version: '5.1.0.RELEASE'
    compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.9.7'
    compile group: 'javax.annotation', name: 'javax.annotation-api', version: '1.3.2'
    provided group: 'javax.servlet', name: 'javax.servlet-api', version: '4.0.1' 
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-04-11 07:37:44

请注意,@PostConstruct@PreDestroy批注都是Java的一部分。由于Java EE在Java 9中已被弃用,并在Java 11中被删除,因此我们必须添加额外的依赖项才能使用这些注释:

对于Maven

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

如果使用Gradle

代码语言:javascript
运行
复制
implementation "javax.annotation:javax.annotation-api:1.3.2"

点击此处:https://www.baeldung.com/spring-postconstruct-predestroy

票数 63
EN

Stack Overflow用户

发布于 2018-10-08 20:29:24

您只有spring-webmvc,您需要spring的其余部分才能使用它们的注释。可能是spring-core和spring-annotations。

票数 1
EN

Stack Overflow用户

发布于 2021-02-08 21:57:58

另一个对我有效的解决方案是这样的。转到https://mvnrepository.com/artifact/javax.annotation/javax.annotation-api/1.2并下载jar文件。然后将jar文件复制到您的项目lib目录中。最后,将项目构建路径指向您粘贴到本地lib文件夹中的文件的class path下。

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

https://stackoverflow.com/questions/52701459

复制
相关文章

相似问题

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