2015-06-27 2 views
29

Недавно был выпущен Eclipse Mars, и мне показалось, что я его пробовал. Он показал более тесную интеграцию с Gradle в качестве одной из своих функций через Buildship.Как обновить зависимости проекта с помощью Buildship в Eclipse?

С Luna я использовал Gradle Integration for Eclipse (4.4), и я нашел, что это намного легче работать с тем, что я пытался сделать; Я мог бы добавить «природу» Gradle в существующий проект без необходимости удаления проекта и повторного импорта его, как это было в случае с Buildship, и автоматически помещает все зависимости, которые я объявил в build.gradle в пути к классу проекта.

С Buildship я не видел никакой опции для настройки существующего проекта как проекта Gradle, и я не мог найти способ включить его в зависимости от зависимостей, которые я указал в скрипте сборки в пути к классу проекта.

Я попытался установить оригинальный плагин (GIfE 4.4) для Eclipse Mars и после перезапуска Eclipse он автоматически сделал все это для меня снова. Мне интересно, есть ли способ сделать это всего лишь с помощью Buildship, потому что сейчас, хотя все это работает, это довольно забавная настройка. Выпадающее меню моего проекта выглядит следующим образом:

Помимо выглядит немного странно, на самом деле очень хорошая установка, так как он сочетает в себе автоматическое управление зависимостью Gife с возможностью запуска задачи Gradle непосредственно из Eclipse, что обеспечивает Buildship.

ответ

49

Обновление зависимостей, которые затмение видит то должно быть так же просто, как:

right click on project -> gradle -> refresh all 

Обновление в buildship 1.0.16

В настоящее время вы должны прыгать через удаления-и-импорта обручем в первый раз, когда вы используете существующий проект gradle с buildship. Теперь вы можете использовать опцию Добавить Gradle Природы:

right click on project -> configure -> Add Gradle Nature 

«Обновить Gradle Проект» теперь также отображается при щелчке правой кнопки мыши на любом .gradle файл, а также в контекстном меню редактора Gradle.source

См обновление ниже Однако иногда вы можете обнаружить, что, когда ваш проект был импортирован, он не получил новый проект и внешних зависимости записи пути к классам, которые вы обычно сможете увидеть в вашем Project Properties -> Java Build Path -> Libraries Если это действительно отсутствует, добавьте следующие строки в файл .classpath вашего проекта и все Gradle благость должны начать работу:

<classpathentry exported="true" kind="con" path="org.eclipse.buildship.core.gradleclasspathcontainer"/> 

Обновление в buildship 1.0.16

Gradle контейнер путь класса восстанавливается, если отсутствует

При преобразовании существующего проекта Eclipse, Java для Gradle, путь класса контейнер Gradle отсутствует. Он всегда добавляется, когда проект является Java-проектом.

+1

Любой, прибывающий сюда. Это лучший ответ и должен быть включен в качестве официального документа. –

+4

Решил также мою проблему: закрыл мой проект, добавил эту запись, и когда я снова открыл ее, там были зависимости. Большое спасибо! Я на последней версии 1.0.5, и немного удивил, что такая большая проблема, как это, еще не исправлена. Кто-нибудь сообщил об ошибке для этого? – IGx89

+0

Как сказал Николас Модзик, это должно быть включено в официальный документ! –

4

Я согласен, что строительный комплекс - это катастрофа. Документация чрезвычайно редкая, с ограниченными примерами и минимальным руководством пользователя. Вы считаете, что документирование перехода от Gradle Integration для Eclipse (4.4) было бы непростым, но я думаю, что нет. У меня также нет ни малейшего понятия, как использовать Buildship, кроме того, что я запускал некоторые задачи вручную, и он установил полностью определенные пути в мой файл .classpath. Это смешно, учитывая, что многие проекты передаются через системы управления изменениями.

+0

Вы можете избежать полных путей по большей части с помощью затмения pathVariables настройки: 'затмение { 'GRADLE_USER_HOME' pathVariables: gradle.gradleUserHomeDir}' См: https://docs.gradle.org /current/dsl/org.gradle.plugins.ide.eclipse.model.EclipseModel.html Это разрешает большинство проблем с нашими совместными проектами. В качестве шага вручную вы также должны добавить соответствующий путь к Eclipse: http://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Fconcepts%2Fconcept-classpath- variables.htm –

+1

Даже если я согласен с требованием, это не правильный ответ. –

2

В настоящее время нет проекта «Преобразовать в Грейдл», реализованного в Buildship. Однако, если вы удалите проект и повторно импортируете его с помощью мастера импорта Gradle, вы должны увидеть тот же точный проект с надлежащим характером и контейнером classpath.

Кроме того, если у вас есть проект Gradle в вашей рабочей области и обновлены зависимости в скрипте сборки, вы можете обновить контейнер classpath, щелкнув правой кнопкой мыши по проекту и выбрав Gradle > Refresh projects.

Аналогичная проблема, с которой вы столкнулись, обсуждалась на форумах Gradle: discuss.gradle.org/t/adding-dependencies-to-projects/10415.

У нас также есть ошибка, предназначенная для этого запроса функции: bugs.eclipse.org/bugs/show_bug.cgi?id=465355. Пожалуйста, проголосуйте за него и поделитесь своими мыслями.

Что касается к документации: Это правда, что мы не предоставили официальную документацию по центральной справочной системе затмений, но есть некоторые ресурсы, объясняющие текущая функциональность:

+0

В текущем выпуске Buildship опция Gradle> Refresh также доступна в файле build.gradle. – vogella

4

упаковывают для любого человека, если вы не получаете

правой кнопкой мыши на проекте -> Gradle

связь после выполнения действий, упомянутых в @PaulAdamson ответ. Попробуй это.

  1. В вашем build.gradle добавить apply plugin 'eclipse';
  2. Закройте проект в eclispe.
  3. Запустите сборку градиента из командной строки, а затем заново запустите проект в затмении.

    Теперь ссылка на градиент должна быть доступна по правому клику.

Смежные вопросы