2010-07-30 20 views
15

Zostałem niedawno poproszony o zaprezentowanie istniejącego projektu i nie wiem dokładnie, co to oznacza. Na stronie internetowej maven opisuje, jak utworzyć projekt maven od podstaw, ale co, jeśli mam już znaczną ilość kodu?Co to znaczy "zamurować" projekt?

Czuję się komfortowo pracując na linii poleceń lub w Eclipse/Netbeans. Wiem, że istnieje wiele wtyczek dla 2 IDE, które sprawiają, że tego rodzaju rzeczy są łatwiejsze do zrozumienia, ale nie wiem od czego zacząć.

Czy jest w tym coś więcej niż pisanie pliku pom zawierającego wszystkie zależności?

Odpowiedz

14

"Mavenize" oznacza po prostu napisanie POM (i ewentualnie przeniesienie kodu), tak aby zbudował się w Maven.

Często najłatwiej to zrobić, aby nieznacznie zmodyfikować swój kod, tak aby pasował do konwencji Maven (np. Przenieść "źródła" do "src/main/java" i jawnie podzielić oddzielne moduły). You można zignorować konwencje i powiedzieć Mavenowi, jak przechowujesz swoje lekcje itp., Ale ogólnie rzecz biorąc, niewielka ilość bólu z przodu, aby w pełni wykorzystać Mavena, a następnie pracować "po wyjęciu z pudełka" jest warta zainwestowania.

Istnieje ogromna większość pliku Ant (lub podobnego), który stanowił podstawę dla Maven. Jednak może tam być coś zindywidualizowanego (np. Klasy testowe zaczynające się od "TestIntegration" powinny być uruchamiane tylko na nocnych kompilacjach), które będziesz musiał odtworzyć w Maven.

Ale tak, ogólnie rzecz biorąc oznacza to przejęcie istniejącej funkcjonalności kompilacji i odtworzenie tej samej funkcjonalności za pomocą Mavena.

+0

Ah ładne, więc to po prostu sprawa organizacyjna. Denerwuję się, że denerwuję ludzi, którzy nie używają mavenów, ale przypuszczam, że łatwo jest odzwierciedlić moje zmiany w build.xml. – stinkycheeseman

+0

Byłoby zwykle niezwykłe, gdyby dwa systemy kompilacyjne były w stanie zbudować projekt; czy jest jakikolwiek powód, dla którego niektórzy ludzie nie podchwyciliby Mavena? Ale w każdym razie masz rację - Maven faworyzuje "konwencję przez konfigurację", więc jest to głównie organizacja i zdecydowanie możesz zaktualizować plik build.xml do pracy z nowymi lokalizacjami. –

+0

Dobra, fajna. Zakładam, że wszyscy będą konwertować na maven, ale początkowo nie chcę łamać niczyich obecnych konfiguracji. – stinkycheeseman

4

Oznacza to reorganizację kodu projektu i zasobów w celu dostosowania go do modelu maven. Takie użycie "konwencji przez konfigurację" pozwala standardowym narzędziom maven działać w twojej bazie kodów.

0

Oprócz tego, co zostało powiedziane.

Zawsze można przekonwertować istniejący projekt Java na projekt z Eclipse IDE, wtyczka m2eclipse obsługuje taką funkcję lub opcję, jak następuje: Po zainstalowaniu wtyczki m2eclipse i ponownym uruchomieniu Eclipse. Kliknij prawym przyciskiem myszy projekt java - "configure -" przekonwertuj na maven

Będziesz miał wygenerowaną pom na początku, prawie zawsze wymaga modyfikacji, aby dopasować zależności projektów i repozytoriów, jeśli te zależności nie są w maven centralne repozytorium.