leiningen ベースの clojure プロジェクトに Java 用の exiftool を含めようとしています。このライブラリは中央では利用できないため、project.clj ファイルに :repository タグを含めました。
project.clj:
(defproject clojure-mongo "0.1.0-SNAPSHOT"
:description "FIXME: write description"
:url "http://example.com/FIXME"
:license {:name "Eclipse Public License"
:url "http://www.eclipse.org/legal/epl-v10.html"}
:repositories {"The Buzz Media Maven Repository" "http://maven.thebuzzmedia.com"}
:dependencies [[org.clojure/clojure "1.7.0"]
[com.novemberain/monger "3.0.1"]
[com.thebuzzmedia/exiftool-lib "1.1"]])
javaのexiftoolはチェックサムを提供せず、サイトはこれについて警告します:
「注: 現時点では、リポジトリ上のファイルのチェックサムを提供していないため、Maven から '[WARNING] Checksum validation failed' メッセージが表示されますが、無視しても問題ありません。」
案の定、lein deps はエラーを表示しますが、無視しても安全だとは確信していません。
「Buzz Media Maven リポジトリから com/thebuzzmedia/exiftool-lib/1.1/exiftool-lib-1.1.pom を取得中、Buzz Media Maven リポジトリとの間でアーティファクト com.thebuzzmedia:exiftool-lib:pom:1.1 を転送できませんでした ( http ://maven.thebuzzmedia.com ): チェックサムの検証に失敗しました。リポジトリから利用可能なチェックサムがありません"
clojure コードで ExifTool クラスをインポートしようとすると、依然として ClassNotFoundException が発生します。
core.clj:
(ns clojure-mongo.core
(:require [monger.core :as mg]
[monger.collection :as mc])
(:import [com.mongodb MongoOptions ServerAddress]
org.bson.types.ObjectId
com.thebuzzmedia.exiftool-lib.ExifTool))
clojure 内からこのクラスにアクセスするにはどうすればよいですか?