2013-12-17 3 views
3

Я новый пользователь Ocaml-java (или Cafesterol), который компилирует примитивную программу Ocaml в исполняемую банку, которая разрешена для запуска на JVM. Однако, когда я пытаюсь скомпилировать тестовую программу в исполняемый банку я получил информацию об ошибке в следующем:Невозможно ссылаться на стандартную библиотеку 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 

Это кажется модуль Str и Unix отсутствует OCaml-Java. Тем не менее, str.jar и unix.jar существуют под ~/ocaml-project/ocamljava-bin-1.4/lib/others/при установке Ocaml-java, и в этих баночках мы имеем Str.class и Unix.class. (Я полагаю, что этот каталог находится на пути к стандартной библиотеке Ocaml-java, поэтому он должен быть включен в путь поиска по умолчанию)

Может ли пользователь Ocaml-java рассказать мне, как Ocaml-java ищет библиотеки зависимостей?

ответ

0

Цитирование Xavier Клера на этом:

Ну это должно работать, но вы должны пройти явно ссылочный библиотеку (так же, как и в ванили 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 предварительный просмотр.