Ciao Ho avuto a che fare con questo per un po 'ora e non sono stato in grado per risolverlo.java NoClassDefFoundError: com/google/api/client/extensions/java6/auth/oauth2/VerificationCodeReceiver quando eseguo jar ma non su IDE
Quindi ho una semplice applicazione Java che utilizza l'API di Google Calendar per ottenere eventi da esso.
Quando eseguo sul IDE (IntelliJ) funziona senza errori, ma quando ho compilare ed eseguire il JAR dalla riga di comando ottengo questo errore:
Exception in thread "main" java.lang.NoClassDefFoundError:
com/google/api/client/extensions/java6/auth/oauth2/VerificationCodeReceiver
at info.cantu.smartmirror.Main.main(Main.java:44)
Caused by: java.lang.ClassNotFoundException:
com.google.api.client.extensions.java6.auth.oauth2.VerificationCodeReceiver
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 1 more
ho importato le librerie richieste utilizzando Maven. Penso che stia costruendo il barattolo sbagliato.
Ecco la mia MANIFEST.MF:
Manifest-Version: 1.0
Main-Class: info.cantu.smartmirror.Main
Ecco ciò che il mio pannello di Artefatti assomiglia:
Tutte le idee?
Quando si esegue dalla riga di comando di controllo se i tutti i barattoli di dipendenza richieste sono disponibili nel percorso di classe –
Come posso fare? @ThusithaThilinaDayaratne –
Nel tuo codice, da qualche parte vicino all'inizio del codice, inserisci System.out.println ("Classpath [" + System.getProperty ("java.class.path") + "]"). Quindi sulla riga di comando, java -cp my-jar.jar; my-oauth.jar; other-jar.jar; ecc ... org.main.ClassName – lincolnadym