首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java 9的JSR-305批注替换

Java 9的JSR-305批注替换
EN

Stack Overflow用户
提问于 2016-06-03 01:44:39
回答 1查看 5.8K关注 0票数 34

到目前为止,我们已经使用了Findbugs JSR-305注解(com.google.code.findbugs:jsr305)和一切工具支持(Sonar、Eclipse、Findbugs、…)一直运行得很好。

然而,据我们所知,Java9中的Jigsaw将破坏JSR-305注释(不允许两个模块中有一个包)。这一点在JavaOne 2015上得到了证实。Oracle的理由是JSR-305从未发生过,JSR-250必须认可这些注释。

我们正在寻找在Java 8和Java 9中都可以工作的JSR-305注释的替代品。如果历史可以借鉴的话,Java 9 GA和Java 8 EOL之间的时间将相当短,我们希望提前修复代码中的任何不兼容性。从理论上讲,我们可以升级JDK的注解模块,但在我们的工具链上做这件事似乎需要做很多工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-20 04:44:50

两个模块通常不能在同一个包中定义类型,这是真的。直到最近,将jsr305.jar放在JDK-9构建的类路径上都不会有任何效果:该JAR文件定义javax.annotation包中的类型,但该包是在平台的内置java.xml.ws.annotation模块中定义的,并且后者优先。

然而,部分由于jsr305.jar的广泛使用,以及为了使现有的应用服务器更容易迁移到JDK9,我们更改了默认的根模块集,以排除注释模块等。在JDK:9和JDK:10中,将jsr305.jar放在JDK:9类路径上都是开箱即用的;详细信息可以在JEP 261中找到。它将继续在以后的版本中开箱即用,因为注释模块以及所有其他Java和CORBA模块都在JDK11per JEP 320中删除了。

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

https://stackoverflow.com/questions/37598775

复制
相关文章

相似问题

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