Pracuję z selenium webdriver. Wiele razy próbowałem uruchomić mój skrypt. Ciągle wyświetla się błąd. Co zrobię, aby rozwiązać problem? Jakie jest na to rozwiązanie? Używam eclipse neon i jdk w wersji 8. główna metoda działa poprawnie, ale strona @test wyświetla błąd jni. Błąd:
Error: A JNI error has occurred, please check your installation and try again Exception in thread "main" java.lang.NoClassDefFoundError: com/beust/jcommander/ParameterException at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) at java.lang.Class.privateGetMethodRecursive(Class.java:3048) at java.lang.Class.getMethod0(Class.java:3018) at java.lang.Class.getMethod(Class.java:1784) at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544) at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526) Caused by: java.lang.ClassNotFoundException: com.beust.jcommander.ParameterException at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 7 more
Komentarze
- Dodając do projektu pliki jcommander-1.48.jar & bsh-2.0b4.jar, uruchom test
Odpowiedź
Zrozum – dlaczego tak się dzieje
-
Dowolny z Twój plik jest obecny w czasie kompilacji, ale nie jest osiągalny w czasie wykonywania
-
Musisz sprawdzić krzyżowo zarówno czas kompilacji, jak i środowisko wykonawcze & ścieżki klas
Komentarze
- dziękuję. Pojawił się błąd .. Dodałem 2 pliki jar (jcommander, jar & bsh-1.3.0.jar). Mój program działa teraz poprawnie.
- Dzięki za odpowiedź, dała mi wskazówkę, jak rozwiązać mój. Mają podobną sytuację, siłą rzeczy nie otrzymywałem wszystkich słoików do projektu, po ponownym zmapowaniu projektu i zaimportowaniu, pojawiły się wszystkie słoiki i błąd zniknął. Aby sprawdzić, czy tak jest, wystarczy sprawdzić " Biblioteki " w " Ścieżka kompilacji Java " (Projekt – preferencje >).