hyphenation algorithm(ネームスペースhyphenator-clj.core
)を実装しました。org.clojars.nikonyrh.hyphenator-clj 0.1.0
をdefprojectと定義し、Clojarsにプッシュしました。 Uberjarはcore__init.class
,core.clj
、core.class
のようなファイルを持っているようです。私は他のプロジェクトへの依存性としてそれを使用しようとするとclojarsを使った単純なライブラリの配布
は、しかし、私はこのエラーが出る:それは期待org/clojars/nikonyrh/hyphenator_clj__init.class
と一致する、または私は何とかオーバーライドすることができるように
$ lein uberjar
Retrieving org/clojars/nikonyrh/hyphenator-clj/org.clojars.nikonyrh.hyphenator-clj/0.1.0/org.clojars.nikonyrh.hyphenator-clj-0.1.0.pom from clojars
Retrieving org/clojars/nikonyrh/hyphenator-clj/org.clojars.nikonyrh.hyphenator-clj/0.1.0/org.clojars.nikonyrh.hyphenator-clj-0.1.0.jar from clojars
Compiling example.core
java.io.FileNotFoundException: Could not locate org/clojars/nikonyrh/hyphenator_clj__init.class or org/clojars/nikonyrh/hyphenator_clj.clj on classpath. Please check that namespaces with dashes use underscores in the Clojure file name., compiling:(core.clj:1:1)
Exception in thread "main" java.io.FileNotFoundException: Could not locate org/clojars/nikonyrh/hyphenator_clj__init.class or org/clojars/nikonyrh/hyphenator_clj.clj on classpath. Please check that namespaces with dashes use underscores in the Clojure file name., compiling:(core.clj:1:1)
at clojure.lang.Compiler$InvokeExpr.eval(Compiler.java:3657)
at clojure.lang.Compiler.compile1(Compiler.java:7474)
at clojure.lang.Compiler.compile1(Compiler.java:7464)
at clojure.lang.Compiler.compile(Compiler.java:7541)
at clojure.lang.RT.compile(RT.java:406)
at clojure.lang.RT.load(RT.java:451)
at clojure.lang.RT.load(RT.java:419)
at clojure.core$load$fn__5677.invoke(core.clj:5893)
...
私は私のプロジェクトのフォルダ構造を変更する必要があります現在の行動?これについての良いチュートリアルがあれば、私はそれを読むことができます。
基本的に私はこのサンプルプロジェクトを稼働させたいと思います。 project.clj:
(defproject example "0.0.1-SNAPSHOT"
:description ""
:dependencies [[org.clojure/clojure "1.8.0"]
[org.clojars.nikonyrh.hyphenator-clj "0.1.0"]]
:javac-options ["-target" "1.6" "-source" "1.6" "-Xlint:-options"]
:aot [example.core]
:main example.core)
のsrc /例/ core.clj:
(ns example.core
(:require [org.clojars.nikonyrh.hyphenator-clj :as h])
(:gen-class))
(defn -main [& argv] (doseq [arg argv] (println (h/hyphenate arg :hyphen \-))))
私は、それが中に含まれていないとして、私はまた、間違ったディレクトリ内english.txtを持って疑っていますuberjarしかしリソースファイルは、他のトピックです。
ファイルはSRC/hyphenator_clj/core.clj(最初のリンクでです問題はGithubにある)。プロジェクトは私の以前のプロジェクトハイフネータ-phpからのポートであるため、ハイフネータ - cljです。もちろん、Clojarの文脈では「clj」は単なる余計なノイズです。 – NikoNyrh
hyphenator-cljは、あなたがビルドしてjarを実行できるという意味では "ローカル"で動作しますが、Clojars以外の他のプロジェクトでも使ってみることはできませんでした。 – NikoNyrh