2013-12-17 193 views
3

我是Ocaml-java(或Cafesterol)的新用戶,它將原生Ocaml程序編譯爲允許在JVM上運行的可執行jar。然而,當我嘗試編譯測試程序轉換成可執行的JAR我得到錯誤信息如下:未能鏈接到標準庫的Ocaml-java(或Cafesterol)

>java -jar ~/ocaml-project/ocamljava-bin-1.4/bin/ocamljava.jar -standalone regexdna.ml -o   regexdna.jar 
File "regexdna.ml", line 1, characters 0-1: 
Error: No implementations provided for the following modules: 
    Str referenced from regexdna.cmj 
    Unix referenced from regexdna.cmj 

看來模塊海峽和Unix從Ocaml程序編寫的Java失蹤。然而,當我安裝Ocaml-java時,str.jar和unix.jar確實存在於〜/ ocaml-project/ocamljava-bin-1.4/lib/others /目錄下,並且在這些jar中我們有Str.class和Unix.class。 (我想這個目錄是Ocaml-java標準庫的路徑,所以它應該包含在默認搜索路徑中)

任何Ocaml-java用戶都可以告訴我Ocaml-java如何搜索依賴庫嗎?

回答

0

在此引用澤維爾克萊爾:

那麼它應該工作,但你必須明確地通過引用 庫(就像在香草OCaml的)。領導你的情況來:

$ /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java -jar ~/opt/ocamljava-2.0-early-access9/lib/ocamljava.jar str.cmja regexdna.ml 

請注意,我使用的是最新的ocamljava預覽。