質問編集履歴

1 参考サイトの変更

退会済みユーザー

退会済みユーザー

2018/06/10 23:44  投稿

mavenを用いてjacksonをつかいたい
javaのmavenについて質問です。
今回勉強も兼ねて、jacksonを使ってみようと思ってやっています。mavenのpom.xmlに
[参考サイト](https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jacks)
[参考サイト](https://search.maven.org/#artifactdetails%7Ccom.fasterxml.jackson.core%7Cjackson-databind%7C2.9.5%7Cbundle)
のサイトにある、mavenの欄をコピーして書きました。こうすることで勝手にセントラルレポジトリ?から持ってこられるのかなと思ってました。このままmvn compile,packageを行い実行すると、obujectmapper(今回使いたいクラス)がありませんといまれました。これはどうすればよいですか?
```lang-java
package com.mycompany.app;
import java.util.*;
import java.io.*;
import com.fasterxml.jackson.databind.ObjectMapper;
public class App
{
   public static void main( String[] args )throws IOException
   {
     File filename = new File("/work/sample.json");
     HashMap<String,Object> map =
     new ObjectMapper().readValue(filename, HashMap.class);
     for(Map.Entry<String, Object> entry : map.entrySet()){
       System.out.println(entry.getKey());
       System.out.println(entry.getValue());
     }
   }
}
```
```lang-xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 <modelVersion>4.0.0</modelVersion>
 <groupId>com.mycompany.app</groupId>
 <artifactId>my-app</artifactId>
 <packaging>jar</packaging>
 <version>1.0-SNAPSHOT</version>
 <name>my-app</name>
 <url>http://maven.apache.org</url>
 <dependencies>
   <dependency>
     <groupId>junit</groupId>
     <artifactId>junit</artifactId>
     <version>3.8.1</version>
     <scope>test</scope>
   </dependency>
   <dependency>
   <groupId>com.fasterxml.jackson.core</groupId>
   <artifactId>jackson-databind</artifactId>
   <version>2.9.5</version>
   </dependency>
</dependencies>
<properties>
   <maven.compiler.source>1.6</maven.compiler.source>
   <maven.compiler.target>1.6</maven.compiler.target>
 </properties>
</project>
```
エラーの内容
```
java -cp target/my-app-1.0-SNAPSHOT.jar com.mycompany.app.App
Exception in thread "main" java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/ObjectMapper
   at com.mycompany.app.App.main(App.java:17)
Caused by: java.lang.ClassNotFoundException: com.fasterxml.jackson.databind.ObjectMapper
   at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
   at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)
   at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
   ... 1 more
```
  • Java

    20576 questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る