2011-01-16 17 views
7

JSONファイルをJavaで読み込もうとしています。JSONファイルエラーを読み取る

public static void main(String[] args) throws Exception { 
    InputStream is = new FileInputStream("j.txt"); 
    String jsonTxt = IOUtils.toString(is); 

    JSONObject json = (JSONObject) JSONSerializer.toJSON(jsonTxt); 

    JSONObject routes = json.getJSONObject("routes"); 
    JSONObject legs = routes.getJSONObject("legs"); 
    JSONObject distance = legs.getJSONObject("distance"); 
    String dist = distance.getString("text"); 
} 

そしてラインJSONObject json = (JSONObject) JSONSerializer.toJSON(jsonTxt);はエラーになります:コードがある

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:616) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) 
    at java.net.URLClassLoader.access$000(URLClassLoader.java:58) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:197) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248) 
    at antmedic.algorithm.SimpleParser.main(SimpleParser.java:24) 
Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeException 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248) 
    ... 13 more 
Java Result: 1 

私はこの問題を解決するための感謝されます。あなたはあなたがorg.apache.commons.lang.exception.NestableRuntimeExceptioクラスが含まれているいくつかのjarファイルの依存関係が欠落しているあなたのクラスパス

+0

、それは私のために問題を解決しました。 – Pointy

答えて

5

が鳴ります。このクラスを見つけて、クラスパス(この場合はApache Common Lang)にこのjarを追加してください。

+0

この問題を解決するには?私はWindowsでNetBeansを使用しています – Devel

+0

あなたのプロジェクトをどのようにセットアップしたのかよくわからないので、あいまいな質問です。しかし、単純なJavaプロジェクトを前提とすると、見つからないjarファイルをオンラインで探し、それをnetbeansのクラスパスに追加します。私はnetbeansを使用しないので、他の人があなたを助けることができます。 –

+1

私はすでにそれをやったと思います - ファイルcommons-io-2.0.1.jarをライブラリとしてプロジェクトに追加しました。私はもっ​​と何かを加えなければなりませんか? – Devel

1

にはApache Commonsのjarファイルを持っていないよう

12

Commons Lang(現在3.1)の最新バージョンは、org.apache.commons.langの代わりにorg.apache.commons.lang3のパッケージ名を持っています。 (あなたの場合のように)後のパッケージ名のために、Commons Langの2.6版をダウンロードするべきです。

+0

ありがとうございます。私は最新バージョン3.1を使用していましたが、このエラーが発生しました –

+0

+1すごく、私は3.1で試していて、同じエラーが発生しました。この素晴らしい答えをありがとう。 – user75ponic

0

これでmaven pom.xmlファイルを更新できます。バージョンをダウンロードするには2.3を指定しなければなりませんでした。

<dependency> 
     <groupId>commons-lang</groupId> 
     <artifactId>commons-lang</artifactId> 
     <version>2.3</version> 
    </dependency> 
関連する問題