Создание исполняемых файлов Jar в Scala с помощью Eclipse - PullRequest
6 голосов
/ 14 июня 2011

Может кто-нибудь сказать мне, как я могу создать работающий JAR-файл из программы Scala, используя Eclipse и Scala 2.9.x?

Быстрый Google выводит результаты, подобные этому ..

http://garyboone.com/2009/06/creating-single-file-runnable-jars-in-scala-and-eclipse/

Который использует Java-класс для вызова главного Scala, однако, похоже, он не работает со Scala 2.9.

Спасибо за ваше время.

Ян

Ответы [ 4 ]

13 голосов
/ 26 февраля 2012

В Scala 2.9.1 вы можете просто создать файл .java, подобный этому, чтобы иметь возможность использовать функциональность Eclipse Create Runnable JAR:

public class ScalaRunner {
    public static void main(String[] args) {
        Main.main(args);
    }
}
2 голосов
/ 14 июня 2011

Если случайно вы используете sbt для сборки, тогда вы можете использовать плагин assembly-sbt . Мы используем это в Yammer для создания полных JAR-файлов наших инфраструктурных сервисов. Мы (постепенно) переключаемся на использование maven и плагина shade . Я считаю, что затенение выполняет объединение JAR-файлов чуть более разумно, чем сборка-sbt. Тем не менее, мы уже добились большого успеха с Assembly-SBT.

1 голос
/ 15 июня 2011

Proguard - отличный инструмент для создания исполняемого jar - если вы не используете sbt (если это так, используйте sbt-proguard-plugin, советуют другие), то стандартный способ создания исполняемого jar из затмения будетсоздать файл сборки ant, а затем сослаться на эту сборку ant из eclipse.

Почти все разработчики Android, использующие scala, используют proguard, и вы найдете у них много документации по этому поводу.

Вот документация Proguard о создании задачи ant: http://proguard.sourceforge.net/index.html#/manual/ant.html

И шаг 4 на этой странице о разработке Android из Scala IDE wiki содержит конкретные шаги по добавлению файла сборки Ant в Eclipse.

http://www.assembla.com/wiki/show/scala-ide/Developing_for_Android

1 голос
/ 14 июня 2011

Не для Eclipse, но я бы использовал sbt с плагином Proguard: https://github.com/siasia/xsbt-proguard-plugin

Это позволяет вам установить сборку многократного использования без зависимости от Eclipse или подобных IDE.

...