Byłem użytkownikiem od dawna systemu Make build, ale zdecydowałem się rozpocząć naukę systemu budowania Maven. Podczas gdy czytałem większość dokumentacji online, żadna nie wydaje mi się analogią, której szukam. Rozumiem cykl życia systemu, ale nie widzę żadnego odniesienia do kompilacji zależności kroków. Na przykład chcę wygenerować gramatykę JFlex w ramach etapu cyklu życia kompilacji. Obecnie nie widzę sposobu, aby uczynić ten krok etapem wstępnej kompilacji. Dokumentacja wydaje się być ograniczona w tym zakresie. Ogólnie rzecz biorąc, wydaje się, że koncepcja zależności kroków jest zapakowana w Mavena i wymaga wtyczki do każdej zmiany. Czy tak jest? Czego mi brakuje, ponieważ obecnie system budowania Mavena wydaje się bardzo ograniczony w sposobie konfigurowania kroków kompilacji.Przeprowadzka do Maven z GNUMake
Odpowiedz
Możesz zrobić wszystko w Maven. Zasadniczo ma domyślny sposób robienia każdej rzeczy, a następnie możesz włączyć i przesłonić, jeśli chcesz zrobić coś wyjątkowego. Czasami potrzeba dużo przepełnienia stosu i drapania głowy, aby to rozgryźć.
Istnieje nawet oficjalny JFlex Maven plugin.
Gdy tylko jest to możliwe, znajdź kogoś, kto zrobił wtyczkę Mavela i rób to, co chcesz. Nawet jeśli nie jest w 100% poprawne, może przynajmniej dać ci pomysł, jak zmusić maven'a do zrobienia czegoś.
Minimalna konfiguracja
Konfiguracja ta generuje kod Java parsera dla wszystkich plików gramatyki ( .jflex * .jlex * .lex, .flex) znalezionych w src/main/JFLEX/i jego podkatalogi. Nazwa i pakiet wygenerowanego kodu źródłowego Java są zdefiniowane w gramatyce. Wygenerowany kod źródłowy Java jest umieszczany w docelowym/generowanym-źródle/jflex, w podkatalogach zgodnych z konwencją Java dotyczącą nazw pakietów. pom.xml
<project>
<!-- ... -->
<build>
<plugins>
<plugin>
<groupId>de.jflex</groupId>
<artifactId>jflex-maven-plugin</artifactId>
<version>1.6.0</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<!-- ... -->
</build>
<!-- ... -->
</project>
to czuje się jak w sposób maven do rzeczy. Umieść swoje rzeczy w odpowiednich folderach (src/main/flex), a ta wtyczka automatycznie doda ją do twojego projektu. Jeśli chcesz do fancier custom stuff, there are some options. ale Maven polega na faworyzowaniu konwencji nad konfiguracją.
Szczerze mówiąc, uważam, że twój obecny sposób myślenia jest znacznie lepszy od mrówki, a proponuję zacząć od tego.
Czy to oznacza, że Maven nie jest w stanie dodać do kompilacji dodatkowych zadań kompilacji? Chyba mógłbym umieścić kroki budowania w pliku ant i mvn po prostu to uruchomi. Jednak to rozwiązanie wydaje się nieco brzydkie. – dcolish
Możesz zrobić wszystko w Maven. Przekaż więcej w nowej odpowiedzi. – bwawok
Nie powiedziałem, że maven nie może tego zrobić. Powiedziałem, że twój sposób myślenia jest bliższy mrówce (pochodzącej z make) niż maven. –
- 1. Przeprowadzka z Wiimote do aparatu?
- 2. Przeprowadzka poza Itanium
- 3. Przeprowadzka do rbenv łamie pasażera (nginx)
- 4. Przeprowadzka z tradycyjnej ASP. NET MVC do WebApi + Knockout
- 5. Qt - (? Powolne repaint) Przeprowadzka Frameless okno
- 6. Przeprowadzka w kierunku Ruby on Rails z ASP.NET
- 7. Zwolnienie z rozwoju do produkcji w maven
- 8. Przekazywanie argumentów z "maven" do zadania ant
- 9. Maven wdrażać słoik z zależnościami do repo
- 10. Jak skonfigurować Xcode do korzystania z Maven
- 11. Maven z Eclipse Juno
- 12. Uruchamianie Gradle z Maven
- 13. Maven - kompilacja z zależnościami
- 14. Maven: Dołącz zasoby do JAR
- 15. Jak dodać nowy moduł maven do istniejącego projektu maven
- 16. Maven: Jak uniknąć wersji dołączonej do pliku wojennego w Maven?
- 17. dodać maven repozytorium do build.gradle
- 18. Maven: Nierozwiązane odniesienia do [org.osgi.service.http]
- 19. Przekazywanie argumentów do wydania Maven
- 20. budować projekty C++ w Maven z maven-nar-plugin
- 21. Używanie wtyczki maven-bundle z wtyczką maven-shade
- 22. Maven - Jak zbudować wiele projektów Niezależne Maven z jednego projektu
- 23. Zarządzanie zależnościami DLL z Maven
- 24. Budowanie projektu kakao z maven
- 25. Wtyczka Maven Site z Java9
- 26. uruchom serwer java z maven
- 27. Skopiuj plik jar z maven
- 28. Tworzenie archiwum ZIP z Maven
- 29. Dodaj wszystkie artefakty z JBoss Maven repo do projektu Maven Eclipse
- 30. Korzyści z Plugin FailSafe Maven
Och ładny, to ten cel egzekucji sprawił, że działał. Chyba będę musiał wrócić i zobaczyć dokładnie, co to oznacza. Tak więc haczyk dla wtyczek polega na dodaniu wykonania, które uruchamia się podczas cyklu życia? – dcolish
Evenrything in Maven to wtyczka, nawet jeśli jej nie widzisz. Chcąc dokonać zmiany, pierwszym krokiem jest wzięcie jednej z wbudowanych wtyczek i zmiana konfiguracji trochę ... Kiedy wbudowane wtyczki nie zrobią czegoś, możesz zacząć przeglądać z wtyczkami innych firm. Jeśli nie masz szczęścia, możesz zrobić własne :) – bwawok