如何防止NetBeans生成类似的构建警告?警告:注释处理器"org.netbeans.modules.openide.util.NbBundleProcessor"支持的源版本"RELEASE_7"小于-source"1.8"
最终,我希望在没有构建警告的情况下构建我的项目。如果有人有一个行之有效的方法,我很想听听
尽管多年来人们一直在抱怨,但没有已知的编译器标志来阻止这些警告。我尝试过变通方法,但没有成功,我研究了太多的科技博客(以下是一些更有用的博客):JDK-7184902:"支持的源版本…"警告应该是-Xlint感知的-http://bugs.java.com/view_bug.do?bug_id=7184902JDK-8037955:"支持的源版本…"警告应该是-Xlint-aware-http://bugs.java.com/view_bug.do?bug_id=8037955Bug 210286-使用时来自注释处理器的警告-源代码7-https://netbeans.org/bugzilla/show_bug.cgi?id=210286支持注释处理器org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor的源版本RELEASE_6低于source1.7-支持注释处理器.org.eclipse.persistente.internal.jspa.modelgen.Canonical ModelProcessor低于source1.7
到目前为止,最好的办法是尝试实现AntLogger(使用Bug 210286文章中提到的方法以及他们为SuppressionFilterAntLogger.java提供的源代码,位于https://netbeans.org/bugzilla/attachment.cgi?id=122191)。
添加对Ant模块的依赖项不起作用。显然Ant模块被认为是一个"排除模块",所以我不能让NetBeans为我添加带有红色灯泡图标的import语句。以下是编译该项目所需的步骤(经过大量研究和实验):右键单击模块应用程序的根节点,选择"项目属性",然后单击其"库"选项卡。在"平台模块"列表中,滚动到以下每个列表条目,并选中其"包含"复选框。每当我们选择一个平台模块时,我们都会收到一些关于"但这被排除在外"的错误消息(位于对话框窗口底部),所以我们会寻找该模块,并一直搜索,直到它包含了所需的一切。选中/启用以下列表项的"包含"复选框:extide|Antextide|Java选项ide |导航器APIide | API项目ide |项目UIide |项目UI APIide |项目索引桥ide | XML工具APIjavafx(即选择javafx集群中的所有条目)平台|执行API取消选中/禁用以下列表项的"包含"复选框:平台|JavaFX包装器现在我们可以按下"解决"按钮(以前已禁用)。重新启动NetBeans IDE(因为它没有完全使用我们刚刚在没有完全重新启动的情况下所做的更改)。
在所有这些之后,我终于成功地编译了SuppressionFilterAntLogger类。。。但是NetBeans没有触发它的任何方法(我仍然收到RELEASE_7构建警告)!
我在Microsoft Windows 7 Professional上使用Java 8u66和NetBeans IDE 8.0.2。我正在使用NetBeans平台模块应用程序试用这个AntLogger,但Java构建警告会出现在各种项目中。
我发现了一个简单删除Netbeans缓存的解决方案。看看这个链接:如何清除NetBeans中的缓存。
如果您实际上没有使用JDK 8的功能,如lambdas。您可以使用最新的JDK,但仍可以在properties source中将源代码级别设置为1.7。您的代码可以使用1.8中的类,但不能使用lambda等。