【发布时间】:2015-04-16 01:59:24
【问题描述】:
我正在尝试 frege,但我正在努力尝试使用一些本地 Java 库。
我正在尝试使用 leiningen 插件和 Joda time。显然 lein 插件不能正确地查看 fregec 的类路径,或者可能与这种差异有关:
java -jar ~/Downloads/frege3.22.524-gcc99d7e.jar -fp ~/.m2/repository/joda-time/joda-time/2.7/joda-time-2.7.jar src/Hello.fr
将能够像预期的那样找到 Joda,同时
java -cp ~/.m2/repository/joda-time/joda-time/2.7/joda-time-2.7.jar -jar ~/Downloads/frege3.22.524-gcc99d7e.jar src/Hello.fr
会因
而失败`org.joda.time.Years` is not a known java class
根据the wiki,这不应该发生,因为
当前运行的JVM的类路径加上目标目录总是在类路径上。
尽管如此,即使手动设置了-fp,这段代码仍然无法编译:
module Hello where
data JodaYears = native org.joda.time.Years where
pure native years :: Int -> JodaYears
pure native getYears org.joda.time.Years.getYears :: JodaYears -> Int
-- ^ I tried both with and without this
错误是
Instance method or getter must be applied to java reference type.
但我使用的唯一实例方法 (getYears) 将引用类型作为输入 (JodaYears)...我什至尝试使用 org.joda.time.Years,但编译仍然失败
感谢任何可能对此有所了解的人
【问题讨论】:
-
关于 leininingen 问题我不确定,但您的项目文件中可能有问题?我曾经为自己使用这个插件,将依赖项添加到 jline,并获得了正确的编译器调用。如果您觉得有错误,如果您有 github 帐户,请考虑在 frege-leiningen 子项目github.com/Frege/frege-lein-plugin 上打开一个问题。
-
我很困惑 lein 插件如何找到
jline依赖项但在这里不起作用...我将在 github 上打开一个问题