Java NetBeans中的编译问题
我通过下载Bouncy castle的一些第三方JAR在NetBeans中创建了一个项目,Bouncy castle提供了一些java加密API。我还下载了源代码,并根据包名将它们放在src文件夹下。然而,我的项目中的一些java文件显示为红色,带有错误。这里有一个这样的-- 但奇怪的是,当我实际从NetBeans编译代码时,编译成功了,并创建了最终的jar文件。然而,汇编说:Java NetBeans中的编译问题,java,netbeans,compiler-construction,Java,Netbeans,Compiler Construction,我通过下载Bouncy castle的一些第三方JAR在NetBeans中创建了一个项目,Bouncy castle提供了一些java加密API。我还下载了源代码,并根据包名将它们放在src文件夹下。然而,我的项目中的一些java文件显示为红色,带有错误。这里有一个这样的-- 但奇怪的是,当我实际从NetBeans编译代码时,编译成功了,并创建了最终的jar文件。然而,汇编说: Note: Some input files use or override a deprecated API. No
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进行编译,因为我是通过单击project和Clean and Build选项进行编译的。看起来您有命名冲突。你可能有
import java.security.spec.*;
import rg.bouncycastle.jce.*;
但这两个包都定义了ECParameterSpec
。
如果这是您的问题,您可以使用
rg.bountycaslte.jce.ECParameterSpec myvar=…
显式定义变量类型,也可以添加导入语句import rg.bountycastle.jce.ECParameterSpec
指定您真正想要的。同意@Harry Joy的观点,不推荐不是错误。如果可以,则必须避免使用不推荐使用的方法或API。因为我们不知道Oracle何时会在下一版本的JDK中删除这个不推荐使用的方法
如果您想在NetBeans中使用-Xlint:deprecation进行编译,可以右键单击项目节点(在inspector窗口中),然后选择Properties
在属性窗口中,选择生成>编译。请搜索“其他编译器选项”字段,然后在此字段中放入Xlint:deprecation。完成此操作后,您可以按OK按钮
顺便说一句,您可以在该字段中传递任何其他选项,如“Xlint:unchecked”:)“使用-Xlint:deprecation重新编译以获取详细信息”不是错误。它只是告诉我们一些java类使用了一些不推荐的方法,这些方法在新的java SE中被其他方法所取代。我认为NetBeans中的Xlint是在项目属性、运行或编译选项下设置的
import java.security.spec.*;
import rg.bouncycastle.jce.*;