6 Stimmen

Wie bekomme ich die JAR-Datei für die sun.misc.BASE64Encoder-Klasse?

Ich habe einige Code in meiner Activity-Klasse, die die sun.misc.BASE64Encoder-Klasse verwendet. Aber es zeigt java.lang.NoClassDefFoundError : sun.misc.BASE64Encoder. Brauche ich das jar? Wo kann ich es herunterladen?

5voto

Nikolay Elenkov Punkte 52201

Verwenden Sie keine sun.* Klassen. Verwenden Sie für Base64 in Android entweder die native Klasse oder fügen Sie Ihrem Projekt eine Bibliothek hinzu, die dies durchführt (Apache Commons usw.). Alternativ können Sie einfach den Android-Quellcode in Ihr Projekt kopieren (in Ihrem eigenen Paket), wenn Sie es auf Geräten vor Version 2.2 verwenden müssen.

4voto

Seit Java 8 können Sie die java.util.Base64 Klasse verwenden:

byte[] original = "Base64".getBytes(StandardCharsets.UTF_8);

// encode
byte[] toBase64 = Base64.getEncoder().encode(original);

// decode
byte[] fromBase64 = Base64.getDecoder().decode(toBase64);

// output
System.out.println(new String(toBase64)); //QmFzZTY0
System.out.println(new String(fromBase64)); //Base64
System.out.println(Arrays.equals(original, fromBase64)); //true

Siehe auch: Wie kann ich einen String in einen GZIP Base64 String konvertieren?

2voto

Gagan Chaudhary Punkte 21
  1. Fügen Sie einfach die rt.jar zum Build-Pfad des Projekts vom Pfad C:\Program Files\AdoptOpenJDK\jdk-8.0.202.08\jre\lib hinzu.
  2. Kopieren Sie das Jar und fügen Sie es in den Bibliotheksordner des Projekts ein.

1voto

Amulya Koppula Punkte 92

Für mich ist es mit einfachen Schritten gelöst, ich habe Java11 JDK verwendet. In dieser Version sind die Base64-Klassen veraltet, deshalb erhalten wir dieses Problem. Die Änderung auf Java 8 hat das Problem gelöst. Schritte: In Eclipse,

  1. Gehen Sie zu, Windows-> Einstellungen-> Installierte JREs
  2. Hinzufügen-> wählen Sie JDK8 oder eine frühere Version von JDK aus-> Hinzufügen
  3. Machen Sie es zum Standard-JDK, indem Sie dieses JDK auswählen
  4. Anwenden und Schließen

Und, Fertig.

Danke.

0voto

user1893074 Punkte 103

Es ist in rt.jar verfügbar, das mit den Sun Java-Laufzeiten geliefert wird.

In 1.5.0_06: jre\lib\rt.jar

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X