LoginSignup
2

More than 5 years have passed since last update.

Jedis(Java->Redisのライブラリ)の簡単なテストでハマった

Last updated at Posted at 2018-12-11

あるときJavaからRedisにつなぐ簡単なプログラムを書きたくなり、tutorialspoint
https://www.tutorialspoint.com/redis/redis_java.htm
を見てそのとおりやってみたらハマったので備忘録。

紹介されているとおり、リポジトリからJedisのjarをダウンロードしてきてclasspathに通して、Javaのサンプルアプリを書いてJedisをインポートしてRedisにつなぐ、という流れは変わらないのだが、jedis.jarのDLはここから、というリンクから入手したjedis-2.1.0-sources.jarを利用すると、Jedisクラスを利用したときに以下のエラーがでる

Exception in thread "main" java.lang.NoClassDefFoundError: redis/clients/jedis/Jedis
        at RedisJava.main(RedisJava.java:6)
Caused by: java.lang.ClassNotFoundException: redis.clients.jedis.Jedis
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 1 more

クラス自体が間違ってる?と思ったらそうだった(詳しいことは不明)
ダウンロードURLのパスをさかのぼっていくと
http://repo1.maven.org/maven2/redis/clients/jedis/
もっと新しいバージョンのjedis.jarをDLできるので、試しに3.0.0を使ってみたら正常に実行できた(javaのサンプルアプリからRedisにつながった)
DLしたのはこれ http://repo1.maven.org/maven2/redis/clients/jedis/3.0.0/jedis-3.0.0.jar

Connection to server sucessfully
Server is running: PONG
}}}

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2