Kompilieren Problem mit NetBeans
Den ich erstellt habe ein Projekt in NetBeans, indem Sie das herunterladen von Drittanbieter-jars Bouncy castle, die einige java-cryptography-API ist. Habe ich auch heruntergeladen, die Quelle-code und legen Sie Sie unter den src-Ordner als pro-Paket name. Aber ein paar java Dateien, die ich in mein Projekt zeigen, sind in rot mit Fehler. hier ist eine solche, wie --
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
Aber das seltsame ist, dass wenn ich tatsächlich kompilieren Sie den code von NetBeans , die Kompilierung erfolgreich und der Letzte jar-Datei erstellt habe. Aber die Zusammenstellung sagt der folgende :
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.
Meine Fragen sind : Warum ist die Zusammenstellung gehen durch, obwohl einige Dateien scheinen fehlerhaft? Kann ich ignorieren Sie diese als benigne?
Wie kompilieren mit -Xlint in NetBeans weil ich bin kompilieren, indem Sie in der Projekt-und Clean und Build-option.
- "Recompile with-Xlint:deprecation for details" ist kein Fehler. Es zeigt nur, dass, dass einige java-Klassen verwendet, einige veraltete Methoden, die ersetzt werden durch andere Methoden in neuen java SE.
- -Xlint in NetBeans unter Projekt, Eigenschaften, ausführen oder kompilieren Optionen, denke ich
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sieht es aus wie Sie haben zu einem Namenskonflikt. Sie haben wahrscheinlich
aber beide Pakete definieren
ECParameterSpec
.Wenn es das ist Ihr problem, Sie können entweder definieren Sie eine variable Typ explizit mit
rg.bountycaslte.jce.ECParameterSpec myvar = ...
oder fügen Sie eine import-Anweisungimport rg.bouncycastle.jce.ECParameterSpec;
zu geben, die Sie wirklich wollen.Stimme mit @Harry Freude, Missbilligung ist nicht ein Fehler. Wenn Sie können, vermeiden Sie die Verwendung von deprecated-Methode oder API. Weil wir nicht wissen, Wann Oracle zu entfernen wird diese veraltete Methode in der nächsten Version des JDK.
Wenn Sie wollen, zu kompilieren mit -Xlint:deprecation in NetBeans, können Sie mit der rechten klicken Sie auf Ihr Projekt Knoten (im Inspektor-Fenster) und wählen Sie dann Eigenschaften.
Im Eigenschaften-Fenster, wählen Sie "Erstellen" > Kompilieren. Suchen Sie bitte in Feld "Zusätzliche Compiler-Optionen" und dann setzen Xlint:deprecation in diesem Bereich. Nach tun, dass Sie können drücken Sie die Taste OK.
Btw, können Sie übergeben Sie alle anderen Optionen in diesem Bereich wie "Xlint:unchecked" 🙂