Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java NetBeans中的编译问题_Java_Netbeans_Compiler Construction - Fatal编程技术网

Java NetBeans中的编译问题

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

我通过下载Bouncy castle的一些第三方JAR在NetBeans中创建了一个项目,Bouncy castle提供了一些java加密API。我还下载了源代码,并根据包名将它们放在src文件夹下。然而,我的项目中的一些java文件显示为红色,带有错误。这里有一个这样的--

但奇怪的是,当我实际从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进行编译,因为我是通过单击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.*;