Проблема компиляции в NetBeans - PullRequest
2 голосов
/ 09 июня 2011

Я создал проект в NetBeans, загрузив некоторые сторонние фляги Bouncy castle, который предоставляет некоторые API Java-криптографии.Я также скачал код souce и поместил их в папку 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.

Мои вопросы: Почему происходит компиляция, даже если в некоторых файлах есть ошибки?Могу ли я игнорировать их как доброкачественные?

Как скомпилировать с -Xlint в NetBeans, потому что я компилирую, щелкнув в проекте и выбрав опцию Очистить и построить.

Ответы [ 2 ]

1 голос
/ 09 июня 2011

Похоже, у вас конфликт имен. У вас, вероятно, есть

import java.security.spec.*;
import rg.bouncycastle.jce.*;

но оба пакета определяют ECParameterSpec. Если это ваша проблема, вы можете либо явно определить тип переменной с помощью rg.bountycaslte.jce.ECParameterSpec myvar = ..., либо добавить оператор импорта import rg.bouncycastle.jce.ECParameterSpec;, чтобы указать, какой из них вы действительно хотите.

0 голосов
/ 09 июня 2011

согласен с @Harry Joy, устаревание не является ошибкой.Если вы можете, вы должны избегать использования устаревшего метода или API.Потому что мы не знаем, когда Oracle удалит этот устаревший метод в следующем выпуске JDK.

Если вы хотите скомпилировать с -Xlint: deprecation в NetBeans, вы можете щелкнуть правой кнопкой мыши по узлу вашего проекта (в окне инспектора)затем выберите Properties.

В окне Properties выберите Build> Compiling.Пожалуйста, найдите в поле «Дополнительные параметры компилятора», затем поместите Xlint: deprecation в это поле.После этого вы можете нажать кнопку ОК.

Кстати, вы можете передать любые другие параметры в этом поле, например "Xlint: unchecked":)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...