API Календаря Google на платформе Куба: не может наследовать от финального класса - PullRequest
0 голосов
/ 18 января 2019

У меня был успешно запущен код API календаря Google в NetBeans. Я сталкиваюсь с ошибкой, когда я запускаю его на кубинской платформе. Кто-нибудь может мне помочь в этом вопросе?

ошибка

java.lang.VerifyError: Cannot inherit from final class
        at java.lang.ClassLoader.defineClass1(Native Method) ~[na:1.8.0_181]
        at java.lang.ClassLoader.defineClass(ClassLoader.java:763) ~[na:1.8.0_181]
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[na:1.8.0_181]
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) ~[na:1.8.0_181]
        at java.net.URLClassLoader.access$100(URLClassLoader.java:73) ~[na:1.8.0_181]

ниже приведен код, который я использую в моей студии на Кубе

   public class GoogleCalendar {
        private static final String APPLICATION_NAME = "Google Calendar API Java Quickstart";
        private static final JsonFactory JSON_FACTORY = JacksonFactory.getDefaultInstance();
        private static final String TOKENS_DIRECTORY_PATH = "tokens";



    private static final List<String> SCOPES = Collections.singletonList(CalendarScopes.CALENDAR_READONLY);
    private static final String CREDENTIALS_FILE_PATH = "/credentials.json";


    private static Credential getCredentials(final NetHttpTransport HTTP_TRANSPORT) throws IOException {
        // Load client secrets.
        InputStream in = GoogleCalendar.class.getResourceAsStream(CREDENTIALS_FILE_PATH);
        GoogleClientSecrets clientSecrets = GoogleClientSecrets.load(JSON_FACTORY, new InputStreamReader(in));

        // Build flow and trigger user authorization request.
        GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder(
                HTTP_TRANSPORT, JSON_FACTORY, clientSecrets, SCOPES)
                .setDataStoreFactory(new FileDataStoreFactory(new java.io.File(TOKENS_DIRECTORY_PATH)))
                .setAccessType("offline")
                .build();
        LocalServerReceiver receiver = new LocalServerReceiver.Builder().setPort(8888).build();
        return new AuthorizationCodeInstalledApp(flow, receiver).authorize("user");
    }

    public static void startProcess() throws GeneralSecurityException{
        // Build a new authorized API client service.
        try {
        final NetHttpTransport HTTP_TRANSPORT = GoogleNetHttpTransport.newTrustedTransport();
        Calendar service = new Calendar.Builder(HTTP_TRANSPORT, JSON_FACTORY, getCredentials(HTTP_TRANSPORT))
                .setApplicationName(APPLICATION_NAME)
                .build();

        // List the next 10 events from the primary calendar.
      } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

Я заметил, что ошибка возникает при вызове класса. спасибо ...

...