我试图将java的exiftool包含在一个基于leiningen的clojure项目中。这个库在中心是不可用的,所以我在我的project.clj文件中包含了一个:存储库标记。
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的‘警告校验和验证失败’消息,但是可以安全地忽略它们。”
当然,lein deps给了我一个错误,尽管我不相信忽略它是安全的:
“从Buzz检索com/thebuzzmedia/exiftool-lib/1.1/exiftool-lib-1.1.pom无法将工件com.thebuzzmedia:exiftool:pom:1.1从/到Buzz (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内部访问这个类呢?
发布于 2015-10-10 17:32:16
首先,要导入的类是:
com.thebuzzmedia.exiftool.ExifTool此外,默认情况下,如果校验和不验证,leiningen就会失败。您希望您的:repositories密钥看起来如下:
:repositories [["The Buzz Media Maven Repository"
{:url "http://maven.thebuzzmedia.com" :checksum :warn}]]如果您愿意,也可以将其设置为:ignore。见莱宁根项目样本。
https://stackoverflow.com/questions/33050150
复制相似问题