Как заставить Eclipse распознавать зависимости от SBT
Я пытаюсь выяснить, как заставить Eclipse распознавать зависимости, которые извлекаются с помощью SBT? SBT загружает правильные зависимости и помещает их в my ~/.каталог Плюща, но eclipse их не видит. Есть ли способ сделать это?
спасибо
6 ответов:
Это, вероятно, не тот ответ, который вы ищете, и я признаю, что это не элегантно, но в настоящее время он работает для меня, что означает, что я думаю, что мне требуется меньше времени, чтобы периодически делать следующее вместо исследования и поиска более элегантного решения.
Я предполагаю, что вы используете плагин sbt-eclipse (https://github.com/typesafehub/sbteclipse). Когда я добавляю новые зависимости в свой проект (что на самом деле довольно редко), я просто восстанавливаю свое затмение файлы проекта из плагина. Недостатком этого является то, что у меня есть проект с несколькими модулями, и после обновления проектов в eclipse мне нужно повторно добавить зависимости между проектами в Редакторе путей сборки eclipse.
Как я уже упоминал, это довольно хаки, но в целом я действительно не теряю так много времени, делая это. Это не красиво, но это работает.
удачи, Энди
Если вы используете плагин sbteclipse, это достижимо простым способом. В СБТ типа:
перезагрузка
затмение с-source=trueзатем в eclipse нажмите F5 в папке проекта, чтобы обновить его. Или щелкните правой кнопкой мыши и выберите "Обновить". Просто работать.
Я использую Apache IvyDE плагин для Eclipse, и мне больше повезло с этим подходом. Это всего лишь описано в старых документах sbt, но работает с sbt 0.11
во-первых, установите плагин IvyDE в Eclipse и перезапустите.
выполните команду sbt
deliver-local
- Это создаст XML-файл плюща ваших зависимостей.в Eclipse, в разделе ваш проект / свойства-путь сборки Java-библиотеки, нажмите кнопку "добавить библиотеку" и выберите " IvyDE Управляемые зависимости " затем выберите файл target/scala-2.9.1/ivy - projectversion.xml
при добавлении новой зависимости для построения.sbt, запустите команды sbt
reload
иdeliver-local
снова. Затем щелкните правой кнопкой мыши библиотеку Ivy для вашего проекта в Проводнике пакетов - она будет называться " target/scala-2.9.1 / ivy- projectversion.xml [compile, test]", и нажмите на второй пункт меню "обновить" (между "обновить" и "перезагрузить настройки" -не " F5 Обновлять.) "
в командной строке перейдите в папку проекта и типа
sbt eclipse
Это должно генерировать соответствующую .путь к классу записи в проекте eclipse.
вернитесь в eclipse, выберите проект и нажмите клавишу F5, это перезагрузит указанные библиотеки.
для меня работает следующее:
1) закрыть проект в Eclipse
2) в моем проводнике перейдите к моему проекту Eclipse, убедитесь, что скрытые файлы видны
3) открытый .classpath в простом текстовом редакторе
4) скопируйте нижнюю запись. Например, в моем текущем проекте, это
<classpathentry path="/home/natalie/.ivy2/cache/org.scalatest/scalatest_2.9.1/jars/scalatest_2.9.1-1.8.jar" kind="lib"></classpathentry>
5) перейдите в мои .папка ivy, кэш, а затем вниз в библиотеку, которую я добавил Через sbt
6) щелкните правой кнопкой мыши на jar файл, выбрать свойства, скопируйте путь и имя файла jar и замените его в записи, которую я скопировал на шаге 4
7) сохранить .путь к классу
8) откройте Мой проект на Eclipse
новая зависимость, теперь доступна в Eclipse.