首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >clojure/lein:如何在我的项目中包含java文件?

clojure/lein:如何在我的项目中包含java文件?
EN

Stack Overflow用户
提问于 2011-09-22 16:25:54
回答 3查看 7.2K关注 0票数 21

我有一个只有一个类的java文件,我想把它包含在我的lein项目中。我把它放在哪里,如何导入它?(我尝试将它放在包路径下的src目录中,但它告诉我ClassNotFound)

所以java文件有这样的包声明:

代码语言:javascript
复制
package com.thebuzzmedia.imgscalr;

并且有这样一个类:

代码语言:javascript
复制
public class Scalr {

我把它放在~/src/com/thebuzzmedia/imgscalr/Scalr.java中,并尝试从repl中导入它,如下所示:

代码语言:javascript
复制
(import '(com.thebuzzmedia.imgscalr Scalr))

我得到了这个:

代码语言:javascript
复制
com.thebuzzmedia.imgscalr.Scalr
[Thrown class java.lang.ClassNotFoundException]

我遗漏了什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-09-22 16:32:50

放置Java源代码的位置实际上取决于您使用的构建系统。如果您使用的是Leiningen,请对源路径执行you have to configure

代码语言:javascript
复制
(defproject my-project "0.0.1-SNAPSHOT"
  [...]
  :java-source-paths ["src/java" "test/java"])

然后,您可以在代码中的这些源代码位置或在REPL中导入Java类,就像您已经尝试做的那样。

票数 25
EN

Stack Overflow用户

发布于 2013-05-18 21:47:51

从Leiningen2.x开始,:java-source-path已经被替换为:java-source-paths,它的值现在被指定为向量而不是字符串。

示例:

代码语言:javascript
复制
(defproject my-project "0.0.1-SNAPSHOT"
  [...]
  :java-source-paths ["src/main/java" "src/main/test"]
  ...)
票数 12
EN

Stack Overflow用户

发布于 2013-09-16 08:14:37

由于我没有名气来评论上面的答案,所以我别无选择,只能留下我自己的答案,永远都是如此的微妙不同。

正确的语法(从Leiningen 2.1.3开始)是:

代码语言:javascript
复制
(defproject
    ...
    :java-source-paths ["src/main/java/" "foo/bar/baz/"]
    ...
)
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7511789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档