Linux 서버 인 Amazon EC2 인스턴스에서 Java 응용 프로그램을 실행하고 있습니다. 빌드 경로에 json jar를 포함 시켰고 클래스 경로를 확인했는데 거기에 있습니다. 클래스를 가져올 때jar이 클래스 경로에 있지만 ClassNotFoundException이 발생합니다.
import org.json.*;
컴파일 오류가 발생하지 않지만 클래스를 실행할 때 ClassNotFoundException이 발생합니다.
Exception in thread "Thread-1" java.lang.NoClassDefFoundError: org/json/JSONException
at Group.run(Group.java:62)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.ClassNotFoundException: org.json.JSONException
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
아무도 그것을 고칠 방법을 알고 있습니까?
처음에는 import org.json. *;과 같은 가져 오기를 사용하는 것은 잘못된 코딩 방법으로 간주됩니다. 이것을 변경하여 org.json.JSONException을 가져오고 코드가 여전히 컴파일되는지 확인하십시오. Eclipse를 사용하는 경우 가져 오기를 구성하여 구성하십시오. 또한 포함하고있는 jar 파일의 버전과 이름을 알려주십시오. – vkg
프로젝트를 청결하게하고 빌드하면, 컴파일 오류가 갑자기 나타나서 클래스 파일이 일찍 생성되는 것을 방지 할 수 있습니다. –
JSONException으로 변경했지만 여전히 작동하지 않습니다. 여기에서 jar 파일을 다운로드했습니다. [link] (http://www.java2s.com/Code/Jar/j/Downloadjavajsonjar.htm) 또한 프로젝트를 정리하고 컴파일 오류가 발생하지 않았습니다. – itaied