Ich versuche, die Google Mail-API zu verwenden, und ich habe diese Laufzeitausnahme:java.lang.NoClassDefFoundError: java/awt/Desktop in JDK 1.7
java.lang.NoClassDefFoundError: java/awt/Desktop
Es tritt hier (in der letzten Zeile) :
InputStream stream = ReadMail.class.getResourceAsStream("/client_secret.json");
Reader clientSecretReader = new InputStreamReader(stream);
GoogleClientSecrets clientSecrets = GoogleClientSecrets.load(ReadMail.JSON_FACTORY, clientSecretReader);
GoogleAuthorizationCodeFlow flow =
new GoogleAuthorizationCodeFlow.Builder(
ReadMail.HTTP_TRANSPORT, ReadMail.JSON_FACTORY, clientSecrets, ReadMail.SCOPES)
.setDataStoreFactory(ReadMail.DATA_STORE_FACTORY)
.setAccessType("offline")
.build();
AuthorizationCodeInstalledApp authCodeInstalledApp = new AuthorizationCodeInstalledApp(flow, new LocalServerReceiver());
Credential credential = authCodeInstalledApp.authorize("user");
Dieser Code wird in der doInBackground()
Methode der AsyncTask
sitzen.
Ich habe überprüft und Android Studio ist für die Verwendung von JDK 1.7 konfiguriert.
Warum passiert das und wie kann ich es beheben?
Dies muss ein Klassenpfadproblem sein, Sie fügen zur Laufzeit nicht einige Quellen hinzu, die Sie zur Kompilierzeit zur Verfügung hatten. –
@MattClark Er ist auf Android. – chrylis
Sie müssen den Stack-Trace einschließen, nicht nur die einzelne Zeile. Wir müssen wissen, welche Klassenlast das Problem auslöst. – chrylis