我有一个只有一个类的java文件,我想把它包含在我的lein项目中。我把它放在哪里,如何导入它?(我尝试将它放在包路径下的src目录中,但它告诉我ClassNotFound)
所以java文件有这样的包声明:
package com.thebuzzmedia.imgscalr;并且有这样一个类:
public class Scalr {我把它放在~/src/com/thebuzzmedia/imgscalr/Scalr.java中,并尝试从repl中导入它,如下所示:
(import '(com.thebuzzmedia.imgscalr Scalr))我得到了这个:
com.thebuzzmedia.imgscalr.Scalr
[Thrown class java.lang.ClassNotFoundException]我遗漏了什么?
发布于 2011-09-22 16:32:50
放置Java源代码的位置实际上取决于您使用的构建系统。如果您使用的是Leiningen,请对源路径执行you have to configure:
(defproject my-project "0.0.1-SNAPSHOT"
[...]
:java-source-paths ["src/java" "test/java"])然后,您可以在代码中的这些源代码位置或在REPL中导入Java类,就像您已经尝试做的那样。
发布于 2013-05-18 21:47:51
从Leiningen2.x开始,:java-source-path已经被替换为:java-source-paths,它的值现在被指定为向量而不是字符串。
示例:
(defproject my-project "0.0.1-SNAPSHOT"
[...]
:java-source-paths ["src/main/java" "src/main/test"]
...)发布于 2013-09-16 08:14:37
由于我没有名气来评论上面的答案,所以我别无选择,只能留下我自己的答案,永远都是如此的微妙不同。
正确的语法(从Leiningen 2.1.3开始)是:
(defproject
...
:java-source-paths ["src/main/java/" "foo/bar/baz/"]
...
)https://stackoverflow.com/questions/7511789
复制相似问题