Maven - instalacja pod Eclipse

0

Zaczynam dopiero z Mavenem i stąd moje pytanie. Czy wykonanie standardowej instalacji Mavena (ze strony maven.apache..) poegajace na rozpakowaniu i dodaniu odpowiednich zmiennych środowiskowych spowoduje będzie on od razu wykrywany (i dostępny, współpracujący) przez moje zainstalowane wcześniej Eclipse?
Znalazłem wzmiankę że pod Eclipse jest jeszcze specjalny tryb instalacji ale czy jeden i drugi nie daje tego samego wyniku?
Nie chcę czegoś namieszać w Systemie przez przeprowadzanie dwóch instalacji Mavena (bo mam wykonana tą standardowa przez zmienne środowiskowe) na dwa różne sposoby.

1

Nie wystarczy. Musisz w Eclipse zainstalować wtyczkę integrujacą eclipse i mavena (m2eclipse) i w jej konfiguracji (z poziomu eclipse) ustawić ścieżkę do binarki mavenowej, do repozytorium i do pliku settings.xml

0

THX :)

0

Mam jeszcze pytanko. Czy Maven może być już zintegrowany w nowym Eclipse ściąganym ze stron Eclipse? Taką wzmiankę znalazłem na jakimś blogu jak szukałem informacji jak zainstalować wtyczkę Mavena pod Eclipse
Mam wersje Eclipse Indigo 3,7 dla JEE developers i jak zacząłem teraz ja sprawdzań to wygląda że być może ma już zainstalowanego Mavena.
jak klikę zakładkę Help >> About Eclipse to pojawia mi się informacja o Eclipse i ikonki całego środowiska. Jest tam ikonka "m2" a w jej opisie po kliknięciu jest info Maven Integration for Eclipse.
Gdy wejdę w Window >> Preferences to tam mam zakładkę Maven a w niej podzakładki z ustawieniami. Jest tam podzakładka Installations z zaznaczoną wersją Mavena do odpalania : Embedded (3.0.2/ ...).
Czyli chyba mam zainstalowaną wersję 3.0.2 bo była zintegrowana z moim Eclipse i nie muszę dodawać już pluginu m2eclipse?

Jeżeli tak, czyli to mam Mavena podłączonego do Eclipse to jeszcze jedno pytanko. W Eclipse w Window >> Preferences >> Maven >> User Settings mam okno wskazujące gdzie domyślnie znajduje sie plik konfiguracyjny settings.xml. U mnie w Windowsie jest to katalog domyślny stworzony przez Eclipse+Mavena czyli
C:\Users\user1.m2
I tam powinien być ten plik settings.xml według ustawień. Ale go tam nie ma. Nie wiem czy on jest niezbędny bo ostrzeżenie Eclipse w tej zakładce jest na żółto a nie na czerwono (może go tam w ogóle nie było a jest to opcja dowolna dla użytkownika by go sobie tam umieścić).
Przypuszczam że może dlatego go nie ma bo właśnie niedawno sam instalowałem Mavena (ale nie podłączałem do Eclipse) w wersji 3.0.4 ściągnietej ze strony Apache. Prawdopodobnie przy pierwszej komendzie "mvn --version" nowy Maven te domyślne katalogi (.m2 i .m2/repository) i w ten sposób usunął plik settings.xml. Zainstalowana przeze mnie wersja Mavena 3.0.4 ma swój plik settings.xml ale w swoich katalogach instalacyjnych (katalog /conf).
Pytanko brzmi czy rzeczywiście utraciłem pierwotny plik settings.xml dla wersji Mavena zintegrowanej z Eclipse czy też go w ogóle nie było? Jeżeli jednak utraciłem to czy skopiowanie pliku z wersji 3.0.4 do podanego katalogu załatwi sprawę?

0
  1. Z tego co opisałeś to ty JUŻ MASZ zainstalowany plugin m2eclipse!
  2. Nie, eclipse po prostu szuka sobie w podanej lokalizacji settings.xml a jak nie ma to ładuje defaulta. Tego pliku tam nie było, ale możesz tam skopiować plik z /conf jeśli coś w nim zmienisz.
0

Poszukałem trochę na zagranicznych forach i znalazłem kilka wpisów świadczących o tym że właśnie od Eclipse Indigo 3.7 ta wtyczka jest zawarta w pakiecie Eclipse i nazywa się m2e .
Mam tylko jeszcze wątpliwości odnośnie tej wersji domyślnej Mavena wykazywanej u mnie w Window >> Preferences czyli wersja Embedded (3.0.2/ ...). Może wiesz czy jest ona pełną wersja czy tylko jakąś okrojoną? Można na niej pracować?
Zrobiłem prosty test wypuszczając podstawowy projekt Mavena z pod Eclipse do Jara przez poleceni "package" a potem dodałem go do katalogu "repository" przez "install" i wykonało się dobrze.
Ale:

  • zmienne środowiskowe w systemie wskazują wersje Mavena którego sam instalowałem (chyba nie przeszkadza?)
  • w internecie natknąłem się na opis dodawania nowej wersji Mavena do Eclipse aby używać jej a nie tej Embadded (po coś to robią, czyżby pierwsza wersja była słabsza? )

http://www.rarejava.com/blog/2011/03/maven-integration-for-eclipse

0

Możesz uzywać własnego Mavena jeśli na przykład:

  • chcesz mieć repo w innym niż domyślne miejscu
  • chcesz mieć mavena w innej wersji
0

Dzięki :).
Walczę teraz trochę z tym Mavenem, tworzę projekty w Eclipse (Maven Project) i wypuszczam (installuję) jako JAR'y do repozytorium. To działa okay ale wynikowy JAR nie ma w sobie żadnej wzmianki o projektowych dependencies. To znaczy że jeżeli np w projekcie (z moja klasą programową) dodałem dependencję do np. biblieki JDBC (jdbc-connector... .jar) to całość się scompiluje i przy instalacji otrzymam w repozytorium JAR'a z tą moja klasą (z metodą main(String[] arg)) ale nie będzie miał ten JAR żadnego odwołania do biblioteki JDBC która jest dla niego niezbędna do działania. Jak miałbym taki projekt typowo Eclipsowy to przy jego eksporcie do JAR'a mógłbym wybrać opcje czy JAR ma zawierac przepakowane klasy ze sterownika JDBC lub czy powinien być obok jara stworzony katalog "lib" z tymi bibliotekami + claspath w plik Manifest.inf.
No a Maven tworzy surowego Jara bez żadnych powiązań do biblioteki. Można to jakoś rozwiązać? Może trzeba "install'ować" projekt z jakimś parametrem?

0

Instalowanie jarów w repo to jest coś co się robi z bibliotekami a one z zasady nie trzymają zewnętrznych zależności...

0

THX :)

0

Dopytam.
Biorąc pod uwagę to że wynik insatall Mavena (JAR lub EAR lub WAR) nie zachowuje relacji do bibliotek podanych jako dependencje, czy warto więc pod Eclipse używać Mavenowego projektu i modułów do budowy złożonych projektów (np. EAR z kilkoma EJB i np. JPA) ? W Mavenie trzeba definiować POM'a parenta, w nim moduły, potem dependencje dla POM'ów modułów i jeszcze definicje parneta dla tych POM'ów modułów. Strasznie dużo opisówki a wynik (np. EAR) i tak nie może być wypuszczony przez Mavenowe "install" lub "package" jeżeli ma zawierać jakieś biblioteki dodatkowe podpięte przez dependencje. Trzeba to wyeksportować normalnie przez "Export" z Eclipse.
W tym momencie Maven wydaje się wygodny tylko jako szybka wyszukiwarka bibliotek a nie narzędzie do budowy złożonych projektów. Sposób wiązania ze sobą komponentów w Eclipse jest dużo prostszy.

0

Czytałem o definiowaniu typu wyjściowego przez notacje <packaging> ale o tych dodatkowych pluginach tam nie wspominali. Widzę że są definiowane dla <build>'u. Trochę to wszystko rozbudowane, skomplikowane no i w xml czyli bez żadnych podpowiedzi przy generowaniu pliku pom ... : (

0

O czym ty mówisz? Przecież piszesz to w Eclipse a nie w lodówce! Jak poprawnie zdefiniujesz adres scheme to będziesz miał podpowiadanie. Zresztą przecież wtyczka do eclipse pozwala większość rzeczy sobie wyklikać.

0

Nie będę zakładał bezsensownie tematu, dlatego też zapytam tutaj.

Czy eclipse może posiadać w sobie mavena? Mam na myśli to, że prócz wtyczki m2e jest też zainstalowany cały Maven, którego nie trzebaby konfigurować. Jeśli tak to w wersje Eclipse standardowej czy korporacyjnej?

Czy za każdym razem jak chce się mieć Mavena (a nie ma) to muszę go pobrać, zainstalować i odpowiednio skonfigurować niezależnie od tego czy mam Eclipse i jaka wersją Eclipse jest. Domniemam, że właśnie tak jest, ale chcę się upewnić.

0

Zainstalowanie wtyczki automatycznie zainstaluje ci embedded maven.

0

nawet jesli chcesz najnowsza wersje, to nie trzeba nic instalowac
sciagasz zipa, unzip i wskazujesz na niego w eclipse
nigdy nie konfigurowałem mavena, chyba że poprzez dodanie własnego artifactory

0

Wystarczy tylko wtyczka z Ecplise?! :O
A ja pobierałem ze strony Apache. Instalowałem + dodawanie zmiennej środowiskowej PATH itp. rzeczy. Hm...

1 użytkowników online, w tym zalogowanych: 0, gości: 1