javaのmavenについて質問です。
今回勉強も兼ねて、jacksonを使ってみようと思ってやっています。mavenのpom.xmlに
のサイトにある、mavenの欄をコピーして書きました。こうすることで勝手にセントラルレポジトリ?から持ってこられるのかなと思ってました。このままmvn compile,packageを行い実行すると、obujectmapper(今回使いたいクラス)がありませんといまれました。これはどうすればよいですか?
lang
1package com.mycompany.app; 2 3import java.util.*; 4import java.io.*; 5import com.fasterxml.jackson.databind.ObjectMapper; 6 7 8public class App 9{ 10 public static void main( String[] args )throws IOException 11 { 12 File filename = new File("/work/sample.json"); 13 HashMap<String,Object> map = 14 new ObjectMapper().readValue(filename, HashMap.class); 15 16 for(Map.Entry<String, Object> entry : map.entrySet()){ 17 System.out.println(entry.getKey()); 18 System.out.println(entry.getValue()); 19 } 20 } 21} 22
lang
1<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 2 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 3 <modelVersion>4.0.0</modelVersion> 4 <groupId>com.mycompany.app</groupId> 5 <artifactId>my-app</artifactId> 6 <packaging>jar</packaging> 7 <version>1.0-SNAPSHOT</version> 8 <name>my-app</name> 9 <url>http://maven.apache.org</url> 10 <dependencies> 11 <dependency> 12 <groupId>junit</groupId> 13 <artifactId>junit</artifactId> 14 <version>3.8.1</version> 15 <scope>test</scope> 16 </dependency> 17 <dependency> 18 <groupId>com.fasterxml.jackson.core</groupId> 19 <artifactId>jackson-databind</artifactId> 20 <version>2.9.5</version> 21 </dependency> 22</dependencies> 23<properties> 24 <maven.compiler.source>1.6</maven.compiler.source> 25 <maven.compiler.target>1.6</maven.compiler.target> 26 </properties> 27</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
参考サイト 404になってますが大丈夫でしょうか
すみません、なおしました。参考サイトと書いてますがpom.xmlをコピーしただけです。