2014-05-17 2 views
0

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) 

아무도 그것을 고칠 방법을 알고 있습니까?

+1

처음에는 import org.json. *;과 같은 가져 오기를 사용하는 것은 잘못된 코딩 방법으로 간주됩니다. 이것을 변경하여 org.json.JSONException을 가져오고 코드가 여전히 컴파일되는지 확인하십시오. Eclipse를 사용하는 경우 가져 오기를 구성하여 구성하십시오. 또한 포함하고있는 jar 파일의 버전과 이름을 알려주십시오. – vkg

+0

프로젝트를 청결하게하고 빌드하면, 컴파일 오류가 갑자기 나타나서 클래스 파일이 일찍 생성되는 것을 방지 할 수 있습니다. –

+0

JSONException으로 변경했지만 여전히 작동하지 않습니다. 여기에서 jar 파일을 다운로드했습니다. [link] (http://www.java2s.com/Code/Jar/j/Downloadjavajsonjar.htm) 또한 프로젝트를 정리하고 컴파일 오류가 발생하지 않았습니다. – itaied

답변

0

java 디 컴파일러 도구를 사용하고 class json exception이 jar에 있는지 확인하거나 필요한 jar를 포함하십시오.

+0

병 안에 있습니다. – itaied

+0

그런 다음 두 개의 jar가 동일한 클래스 이름을 가질 수 있습니다 .jsonlexception 클래스가있는 json 또는 다른 jar의 다중 버전이 있는지 확인하십시오. 두 번째로 간단하게 JSONExcepiton을 가져올 수 있습니다. * – geddamsatish

+0

하나의 jar .. JSONException 만 가져 오도록 변경했습니다. 아직 작동하지 않습니다. 나는 simpleJson이라 불리는 또 다른 항아리를 사용하려고했는데 또 다른 클래스 이름과 똑같은 예외가 생겼다 : at Group.run (Group.java:62) at java.lang.Thread.run (Thread.java:744) 에 의해 발생 : java.lang.ClassNotFoundException : org.json.simple.parser.ParseException' – itaied