셀레늄 웹 드라이버로 작업하고 있습니다. 스크립트를 실행하려고 여러 번 시도했습니다. 오류가 계속해서 표시됩니다. 해결하려면 어떻게해야합니까? 이에 대한 해결책은 무엇입니까? 이클립스 네온과 jdk 버전 8을 사용하고 있습니다. 주요 방법은 잘 작동하지만 @test 페이지에서 jni 오류가 발생합니다. 오류는 다음과 같습니다.
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
Comments
- jcommander-1.48.jar & bsh-2.0b4.jar 파일을 프로젝트에 추가하여 테스트 실행
답변
이해-발생 원인
-
파일이 컴파일 시간에 존재하지만 실행 시간에 도달 할 수 없습니다.
-
컴파일 시간과 런타임 환경을 모두 비교 검토해야합니다. & 클래스 경로
댓글
- 감사합니다. 오류가 발생했습니다. 2 개의 jar 파일 (jcommander, jar & bsh-1.3.0.jar)을 추가했습니다. 내 프로그램이 이제 제대로 실행되고 있습니다.
- 답변을 주셔서 감사합니다. 문제를 해결하는 데 도움이되었습니다. 비슷한 상황이 발생하면 perforce가 프로젝트에 대한 모든 jar를 가져 오지 못했습니다. 프로젝트를 다시 매핑하고 가져온 후 모든 jar가 나타나고 오류가 사라졌습니다. 이 경우인지 확인하려면 "에서 " 라이브러리 "를 확인하면됩니다. Java 빌드 경로 " (프로젝트-> 환경 설정).