我通过下载一些第三方的 Bouncy caSTLe jar 在 NetBeans 中创建了一个项目,它提供了一些 java 加密 API。我也下载了源代码,并按照包名将它们放在 src 文件夹下。但是,我项目中的一些 java 文件显示为红色且有错误。这是一个——
getparams() in org.bouncycastle.jce.provider.JCEECPrivateKey cannot implement
getParams() in rg.bouncycastle.jce.interfaces.ECKey
found : java.security.spec.ECParameterSpec
required: rg.bouncycastle.jce.ECParameterSpec
但奇怪的是,当我实际从 NetBeans 编译代码时,编译成功并创建了最终的 jar 文件。但是,编译说明如下:
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
我的问题是:为什么即使某些文件似乎有错误,编译仍会进行?我可以忽略这些是良性的吗?
如何在 NetBeans 中使用 -Xlint 进行编译,因为我是通过单击项目和“清理并构建”选项进行编译的。
最佳答案
同意@Harry Joy 的观点,弃用不是错误。如果可以,您必须避免使用已弃用的方法或 API。因为我们不知道 Oracle 何时会在 JDK 的下一个版本中删除这个已弃用的方法。
如果您想在 NetBeans 中使用 -Xlint:deprecation 进行编译,您可以右键单击您的项目节点(在检查器窗口中),然后选择属性。
在“属性”窗口中,选择“构建”>“编译”。请搜索字段“其他编译器选项”,然后将 Xlint:deprecation 放入该字段。完成后,您可以按确定按钮。
顺便说一句,您可以在该字段中传递任何其他选项,例如“Xlint:unchecked”:)
关于java - NetBeans 中的编译问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6293410/