IDE(eclipseなど)無しで、jacksonライブラリを使用して、jasonをパースしようと試みています。
以下にあるようなMain.javaを作成し、javacコマンドを用いてclassファイルを作成しようとしたところ、java.com.fasterxml.jackson.databind.ObjectMapperにパスが通ってないようで、コンパイルができない状況です。。。
どなたか、解決法が分かる方がいましたら、ご教授いただけますでしょうか??
■javacコマンド
$ javac Main.java -cp ./jackson-core-2.3.5.jar:./jackson-databind-2.3.5.jar
Main.java:6: エラー: パッケージjava.com.fasterxml.jackson.databindは存在しません
import java.com.fasterxml.jackson.databind.ObjectMapper;
^
Main.java:37: エラー: シンボルを見つけられません
ObjectMapper mapper = new ObjectMapper();
^
シンボル: クラス ObjectMapper
場所: クラス Main
Main.java:37: エラー: シンボルを見つけられません
ObjectMapper mapper = new ObjectMapper();
^
シンボル: クラス ObjectMapper
場所: クラス Main
Main.java:40: エラー: シンボルを見つけられません
JsonNode rootNode = mapper.readValuei(file, JsonNode.class);
^
シンボル: クラス JsonNode
場所: クラス Main
Main.java:40: エラー: シンボルを見つけられません
JsonNode rootNode = mapper.readValuei(file, JsonNode.class);
^
シンボル: クラス JsonNode
場所: クラス Main
エラー5個
■ディレクトリ構成
$ ls
Main.java
jackson-core-2.3.5.jar
jackson-databind-2.3.5.jar
test.json
$
■javaソース
java
1 2import java.io.File; 3import java.io.FileReader; 4import java.io.BufferedReader; 5import java.io.FileNotFoundException; 6import java.io.IOException; 7import java.com.fasterxml.jackson.databind.ObjectMapper; 8import java.util.Iterator; 9 10public class Main { 11 12 public static void main(String[] args) { 13 14 // 引数でjsonファイル(test.json)を渡す。 15 String fileName = args[0]; 16 17 // ファイルの内容を全てstrinBufferに読み出す。 18 StringBuffer strBuf = new StringBuffer(); 19 String line; 20 21 try { 22 23 File file = new File(fileName); 24 25 ObjectMapper mapper = new ObjectMapper(); 26 27 // rootNodeを取得 28 JsonNode rootNode = mapper.readValuei(file, JsonNode.class); 29 30 Iterator<String> fieldStrings = rootNode.getFieldNames(); 31 32 while (fieldStrings.hasNext()) { 33 String fieldString = fieldStrings.next(); 34 System.out.println(fieldString); 35 } 36 37 }catch(FileNotFoundException e) { 38 39 System.out.println("ファイルがないです。"); 40 }catch(IOException e) { 41 42 System.out.println("IOExceptionが出たよ。");} 43 44 System.out.println(strBuf); 45 } 46}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/03 07:59