2015-06-27 14 views
29

Eclipse Mars został niedawno wydany i miałem ochotę go wypróbować. Wymieniono ściślejszą integrację z Gradle jako jedną z jego funkcji za pośrednictwem Buildship.Jak odświeżyć zależności projektu za pomocą Buildship w Eclipse?

Z Luna używałem Gradle Integration for Eclipse (4.4) i stwierdziłem, że o wiele łatwiej jest pracować z tym, co próbowałem zrobić; Mogłabym dodać "naturę" Gradle do istniejącego projektu bez potrzeby usuwania projektu i ponownego importowania go tak jak w przypadku Buildship, i automatycznie wstawiał wszystkie zależności, które zadeklarowałem w build.gradle w ścieżce klasy projektu.

W programie Buildship nie widziałem opcji konfigurowania istniejącego projektu jako projektu Gradle i nie mogłem znaleźć sposobu na uwzględnienie zależności określonych w skrypcie budowania w ścieżce klasy projektu.

Próbowałem zainstalować oryginalną wtyczkę (GIfE 4.4) dla Eclipse Mars i po ponownym uruchomieniu Eclipse automatycznie zrobiło to dla mnie ponownie. Zastanawiam się, czy istnieje sposób, aby to zrobić przez samą konstrukcję, ponieważ teraz, mimo że wszystko działa, jest to dość zabawna konfiguracja. menu rozwijanego Mój projekt wygląda tak:

Oprócz patrząc nieco dziwne, to jest całkiem ładny setup, ponieważ łączy w sobie automatyczne zarządzanie zależność GIfE z możliwością uruchamiania zadań Gradle bezpośrednio od Eclipse ten Buildship zapewnia.

Odpowiedz

49

Aktualizacja zależności że zaćmienie widzi powinna następnie być tak proste, jak:

right click on project -> gradle -> refresh all 

Update w buildship 1.0.16

Obecnie trzeba przeskoczyć przez delete-i-import obręcz przy pierwszym użyciu istniejącego projektu gradle z buildship. Teraz można użyć opcji Dodaj Gradle natury:

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

jest teraz również pokazany „Refresh Gradle Project” po kliknięciu prawym przyciskiem myszy na dowolny plik .gradle jak również w menu kontekstowym edytora Gradle.source

Zobacz Aktualizacja poniżej Jednak czasami może się okazać, że gdy projekt został importowany, to nie dostał nowy projekt i zewnętrznych zależności ścieżki klasy wejścia, które normalnie można być w stanie zobaczyć w swoim Project Properties -> Java Build Path -> Libraries Jeśli to jest rzeczywiście brakuje, dodaj następujące do Twojego projektu .classpath pliku i cała dobroć Gradle powinien rozpocząć pracę:

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

Update w buildship 1.0.16

Gradle ścieżka klasy kontener zostanie przywrócone, jeśli brakuje

Przy konwersji istniejącego projektu Eclipse Java Gradle, ścieżka klasy kontener Gradle brakowało. Jest teraz zawsze dodawany, gdy projekt jest projektem Java.

+1

Każdy, kto tu przyjeżdża. To jest najlepsza odpowiedź i powinna być zawarta jako oficjalny dokument. –

+4

Rozwiązał również mój problem: zamknął mój projekt, dodał ten wpis, a kiedy ponownie go otworzyłem, istniały zależności. Wielkie dzięki Paul! Jestem na najnowszej wersji, 1.0.5 i nieco zaskoczony, tak wielki problem jak ten nie został jeszcze naprawiony. Czy ktoś jeszcze zgłosił błąd? – IGx89

+0

jako Nicolas Modrzyk już wspomniano, to powinno być zawarte w oficjalnym dokumencie !!! –

4

Zgadzam się, że Buildship to tragedia. Dokumentacja jest niezwykle skąpa z ograniczonymi przykładami i minimalnym podręcznikiem użytkownika. Można by pomyśleć, że dokumentacja przejścia od Gradle Integration for Eclipse (4.4) byłaby nie myślenia, ale nie sądzę. Nie mam też pojęcia, jak używać Builda, poza tym, że ręcznie wykonałem niektóre zadania i wstawiłem w pełni kwalifikowane ścieżki w moim pliku .classpath. To niedorzeczne, biorąc pod uwagę, że wiele projektów jest współdzielonych przez systemy kontroli zmian.

+0

Można uniknąć w pełni wykwalifikowanych ścieżki w przeważającej części za pomocą pathVariables eclipse Otoczenie: 'Zaćmienie '{' GRADLE_USER_HOME pathVariables: gradle.gradleUserHomeDir}' Patrz: https://docs.gradle.org /current/dsl/org.gradle.plugins.ide.eclipse.model.EclipseModel.html Rozwiązuje to większość problemów związanych z naszymi wspólnymi projektami. Jako krok ręczny musisz również dodać odpowiednią ścieżkę do Eclipse: http://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Fconcepts%2Fconcept-classpath- variables.htm –

+1

Nawet jeśli zgadzam się z twierdzeniem, nie jest to właściwa odpowiedź. –

2

Obecnie w projekcie Buildship nie ma projektu "Konwertuj na Gradle". Jeśli jednak usuniesz projekt i ponownie zaimportujesz go za pomocą kreatora importu Gradle, powinieneś zobaczyć ten sam dokładny projekt z właściwą naturą i kontenerem ścieżki klas. Ponadto, jeśli masz projekt Gradle w swoim obszarze roboczym i aktualizujesz zależności w skrypcie budowania, możesz odświeżyć kontener ścieżki klas klikając prawym przyciskiem myszy projekt i wybierając Gradle > Refresh projects.

Podobny problem, z którym się spotkałeś został omówiony na forach Gradle: discuss.gradle.org/t/adding-dependencies-to-projects/10415.

Mamy również błąd dedykowany dla tej prośby o funkcję: bugs.eclipse.org/bugs/show_bug.cgi?id=465355. Głosujcie na to i dzielcie się swoimi przemyśleniami.

odniesieniu do dokumentacji: To prawda, że ​​nie dostarczyły oficjalną dokumentację dla centralnego systemu pomocy Eclipse, ale istnieją pewne środki wyjaśniające obecną funkcjonalność:

+0

Przy obecnym wydaniu Buildship opcja Gradle> Refresh projects jest również dostępna w pliku build.gradle. – vogella

4

okrywać dla nikogo, jeśli nie otrzymujesz

prawym przyciskiem myszy na projekcie -> Gradle

odnośnik po wykonaniu czynności wymienionych w @PaulAdamson odpowiedź. Spróbuj tego.

  1. W swojej build.gradle dodać apply plugin 'eclipse';
  2. Zamknij projekt w eclispe.
  3. Uruchom kompilację gradle z wiersza poleceń, a następnie ponownie otwórz projekt w czasie zaćmienia.

    Teraz link gradle powinien być dostępny po kliknięciu prawym przyciskiem myszy.

Powiązane problemy