Pie*_*eed 4 java jar clojure maven
我在src/main/clojure/za/co/pb/maven_test/test.clj
文件中有以下内容:
(ns za.co.pb.maven-test.test
(:gen-class))
(defn -main []
(println "Hello world!"))
Run Code Online (Sandbox Code Playgroud)
我还有一个POM,它在编译执行时对clojure-maven-plugin有必要的依赖.
如果我执行一个mvn package
命令,我得到一个target/maven-test-1.0-SNAPSHOT.jar
文件,如果我查看classes文件夹,我在文件夹中有这些文件target/classes/za/co/pb/maven_test
:
test.class
test.clj
test__init.class
test$loading__4410__auto__.class
test$_main.class
据我所知,这是恰当的.
但是,当我运行此命令时:
java -cp target\app-1.0-SNAPSHOT.jar za.co.pb.maven_test.test
我明白了:
Exception in thread "main" java.lang.NoClassDefFoundError: clojure/lang/IFn
Caused by: java.lang.ClassNotFoundException: clojure.lang.IFn
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: za.co.pb.maven_test.test. Program will exit.
Run Code Online (Sandbox Code Playgroud)
小智 6
你没有在类路径中使用clojure jar.您可以根据Stuart的响应嵌入它们,或者如果您不喜欢将所有依赖项嵌入到单个jar中,您可以使用依赖插件和jar插件来使其正常工作.
有关摘要,请参阅:http://groups.google.com/group/enclojure/msg/87159854fcb0e708(注意,链接帖子中存在拼写错误,该包应称为"foo").
归档时间: |
|
查看次数: |
2202 次 |
最近记录: |