有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在Eclipse中对类型启用JSR308空注释?

随着Eclipse的Java8支持的发布,我了解到类型上的空注释(JSR308)是可能的,as described here。 我已经为EclipseKepler安装了JDK8和Java 8 feature patch。 我希望能够声明一个不允许空值的列表,如下所示:

List<@NonNull String> nonulls;

但是,编译器告诉我“此位置不允许使用注释@NonNull”:(

我的项目被配置为使用编译器符合性级别1.8和组织。日食jdt。注释jar包含在类路径中

我错过了什么

问候,


共 (1) 个答案

  1. # 1 楼答案

    这个问题是由我将Eclipse注释jar添加到项目的构建路径中的方式引起的。我使用了名为“带有默认空注释的复制库”的快速修复程序来构建路径”,它添加了一个旧版本的jar(org.eclipse.jdt.annotation_1.1.0.v20140129-1625.jar)。此版本是java-8之前的版本,不支持类型注释

    修复方法是将jar的正确(java-8)版本放在构建路径上。这个版本附带了Kepler Java 8 feature patch,并且位于Eclipse安装目录中的“plugins”目录中:org.eclipse.jdt.annotation_2.0.0.v20140317-1808.jar。如果将此jar添加到构建路径中,则类型注释可以正常工作

    归功于Thomas Schindl