私はGmailのAPIを使用しようとしていますし、私はこの実行時例外が発生しました:それは(最後の行に)ここで発生しjava.lang.NoClassDefFoundErrorが:JDK 1.7でJava/AWT /デスクトップ
java.lang.NoClassDefFoundError: java/awt/Desktop
を:
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");
このコードはAsyncTask
のdoInBackground()
方法に座っています。
Android StudioがJDK 1.7を使用するように設定されていることを確認しました。
なぜこれが起こり、どのように修正できますか?
これはクラスパスの問題である必要があります。実行時にはコンパイル時に使用できるソースが含まれていません。 –
@MattClark彼はAndroid搭載です。 – chrylis
スタックトレースは、1行だけでなく、含める必要があります。どのクラス負荷が問題を引き起こしているのかを知る必要があります。 – chrylis