Эквивалент файлов Java JAR в Erlang

#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 файлом, и это будет работать.