NoClassDefFoundError in Java: com / google / common / base / Function

Quando eseguo il seguente codice:

public static void main(String[] args) { try { FirefoxDriver driver = new FirefoxDriver(); driver.get("http:www.yahoo.com"); } catch (NoClassDefFoundError ex) { System.out.println("error: " + ex.getStackTrace()); } } 

Sto affrontando il seguente errore:

errore: [Ljava.lang.StackTraceElement; @ 80f4cb

Eccezione nella discussione “main” java.lang.NoClassDefFoundError: com / google / common / base / Function

Qualcuno potrebbe aiutarmi a trovare la soluzione o la ragione per questo?

Ho avuto lo stesso problema e alla fine ho scoperto che mi sono dimenticato di aggiungere il selenium-server-standalone-version.jar . Ho solo aggiunto il jar del client, selenium-java-version.jar .

Spero che questo ti aiuti.

Un object NoClassDefFoundError viene generato quando JRE non riesce a trovare una class. Nel tuo caso, non riesce a trovare la class com.google.common.base.Function , che probabilmente non hai aggiunto al classpath.

MODIFICARE

Dopo aver scaricato le seguenti librerie:

e decomprimendoli e mettendo tutti i file JAR in una cartella chiamata lib , la class di test:

 import org.openqa.selenium.firefox.FirefoxDriver; public class Test { public static void main(String[] args) { try{ FirefoxDriver driver = new FirefoxDriver(); driver.get("http:www.yahoo.com"); } catch(Exception e){ e.printStackTrace(); } } } 

corse senza problemi

Puoi compilare ed eseguire la class come segue:

 # compilazione ed esecuzione su Linux e Mac
 javac -cp.: lib / * Test.java 
 java -cp.: lib / * Test

 # compilare ed eseguire su Windows
 javac -cp.; lib / * Test.java 
 java -cp.; lib / * Test

non hai la libreria “google-collections” sul classpath .

Esistono diversi modi per aggiungere librerie al classpath , quindi fornire maggiori informazioni su come si sta eseguendo il programma.

se dalla riga di comando, è ansible aggiungere librerie al classpath tramite

java -classpath path/lib.jar ...

Ho riscontrato lo stesso errore e dopo l’indagine, ho trovato che la libreria selenium-api 2.41.0 richiede guava 15.0 ma è stata sostituita da una versione precedente quindi ho dichiarato guava 15.0 come dipendenza diretta aggiungendo la seguente configurazione in pom.xml:

  guava com.google.guava jar 15.0  

Per me, oltre a selezionare il jar – selenium-java-2.45.0.jar, ho dovuto selezionare tutti i jar nella cartella “libs” nella cartella radice del selenium.

Si prega di includere tutti i file jar della cartella selenium standalone e lib, quindi questo errore verrà risolto

Sembra che tu stia cercando di importare un codice google:

 import com.google.common.base.Function; 

E non lo trova la funzione di class. Verificare che tutte le librerie richieste siano nel percorso di generazione e che il pacchetto sia stato digitato correttamente.

Ho incontrato lo stesso problema e ho fallito anche dopo aver installato il ‘selenium-server-standalone-version.jar’, penso che sia necessario installare il jar guava e guava-gwt ( https://code.google.com/p/guava -libraries / ) pure. Ho aggiunto tutti questi jar e finalmente ha funzionato nel mio PC. Spero che funzioni per gli altri che incontrano questo problema.

Ho avuto lo stesso problema. Ho scoperto che ho dimenticato di aggiungere il file selenium-2.53.0 / selenium-java-2.53.0-srcs.jar alla libreria di riferimento del mio progetto.

Ho avuto lo stesso errore, ma è stato risolto se aggiungi le librerie di selenium (di nuovo se non lo hai), se stai usando INTELIJ

progetto> projectStructure> Modulo> +> aggiungi i contenitori di selenium (entrambi dalla cartella lib e quelli esterni).

Lo stesso deve essere fatto anche per altri IDE, come Eclipse.

Quando ho rilevato l’eccezione java.lang.NoClassDefFoundError: com/google/common/base/Function è stata causata da errori nelle librerie di progetto.

Si prega di verificare nelle impostazioni del progetto. Per Intellij IDEA vai su File – Struttura del progetto e seleziona la scheda Moduli . Tutto ciò che dovevo fare per risolvere questa eccezione era la riaggiunta della libreria del selenium

Dopo aver estratto il tuo file “selenium-java-.zip” devi configurare il tuo percorso di costruzione dal tuo IDE. Importa tutti i file jar nella cartella “lib” e sia il server standalone di selenium che i file jar di versione java Selenium.

Volevo provare una semplice lezione fuori dall’IDE e roba del genere. Quindi scaricare selenium zip dal sito Web ed eseguire la class in questo modo:

 java -cp selenium-2.50.1/*:selenium-2.50.1/libs/*:. my/package/MyClass  

Ho avuto il problema che inizialmente ho usato lib posto delle libs . Non avevo bisogno di aggiungere il barattolo autonomo di selenium. Questo è Java 8 che comprende i caratteri jolly in classpath. Penso che farebbe anche Java 7.

Ho avuto lo stesso problema e alla fine ho scoperto che mi sono dimenticato di aggiungere il selenium-server-standalone-version.jar. Ho solo aggiunto il jar del client, selenium-java-version.jar.

 this is for chrome System.setProperty("webdriver.chrome.driver","D:\\Testing_offical\\chromedriver.exe"); driver =new ChromeDriver(); this is for fire fox System.setProperty("webdriver.gecko.driver",""D:\\Testing_offical\\geckodriver.exe""); driver =new FirefoxDriver(); 

modello:

 System.setProperty("webdriver.gecko.driver","**Path of the gecko driver** "); 

Nota scarica gecko da qui: – http://docs.seleniumhq.org/download/