#java #jar #erlang
#java #jar #erlang
Вопрос:
Это совершенно новый вопрос от программиста Java, пытающегося изучить Erlang. Какой эквивалент файла Java JAR в Erlang, с помощью которого библиотеки сторонних разработчиков могут быть включены в приложение Erlang?
На днях я сделал копию mochijson2.erl в своем проекте, и это сработало, но мне интересно, есть ли лучший / более формальный способ обнаружения и включения библиотек в мире Erlang.
Комментарии:
1. Вы спрашиваете об упаковке или управлении зависимостями? Это две взаимосвязанные, но разные проблемы.
Ответ №1:
Если вы знакомы с Maven (или его братьями и сестрами), аналогом Erlang является Rebar.
Вы могли бы создать rebar.config
(похожий на POM-файл) с содержимым
{deps, [
{mochiweb, "2.9.0", {git, "https://github.com/mochi/mochiweb.git", {tag, "v2.9.0"}}}
]}.
Затем rebar get-deps amp;amp; rebar compile
будет извлечен mochiweb (и любые зависимости, которые он объявляет), создайте зависимости и создайте свой собственный код.
Комментарии:
1. спасибо, и я бы предположил, что извлекаемая зависимость должна соответствовать соглашениям о арматуре. Я, вероятно, прошу слишком многого, но есть ли способ превратить специальную структуру проекта erlang в структуру, совместимую с арматурой, и она более удобна для совместного использования с другими? Было бы очень полезно для начинающих, таких как я.
2. Пока структура вашего проекта соответствует стандартам OTP, он будет работать с Rebar. Кроме того, здесь вам не обязательно иметь
rebar.config
, если вы хотите скомпилировать проект (как вы должны иметьpom.xml
в Maven), хотя это дает вам много возможностей. У вас может быть просто/src
папка с исходным кодом и*.app.src
файлом, и это будет работать.