Chciałbym skorzystać z funkcji, które zapewnia Maven do zarządzania zależnościami w projekcie. Moje krótkie zrozumienie tego, jak działa Maven, jest takie, że pozyska potrzebne pliki JAR, a następnie zbuduje projekt za pomocą tych bibliotek.
Obecnie mam prosty plik POM ustawiony jako test:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.jamesgoodwin.test</groupId>
<artifactId>com.jamesgoodwin.test</artifactId>
<version>0.0.1-SNAPSHOT</version>
<build>
</build>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>3.0.0.RELEASE</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
Aby zarządzać zależnościami, zazwyczaj dodaję projekt lub plik JAR do ścieżki kompilacji, a następnie będę mógł zbudować swój projekt.
Ale podczas korzystania z M2Eclipse zależności nie są dodawane automatycznie do ścieżki budowania. Czy istnieje konfiguracja pozwalająca Eclipse wiedzieć, że Maven zarządza zależnościami?
jeśli wykonasz
śledzony przez
jeśli przygotuje
.classpath
dla Ciebie plik zaćmienia . Oznacza to, że te polecenia są uruchamiane przeciwko maven z wiersza poleceń, tj. Poza zaćmieniem.źródło
mvn eclipse:clean
imvn eclipse:eclipse
faktycznie rozwiązałem problem za mnie.Zakładam, że używasz m2eclipse, o czym wspomniałeś. Jednak nie jest jasne, czy stworzyłeś swój projekt w Eclipse, czy nie, więc postaram się objąć wszystkie przypadki.
Jeśli utworzyłeś projekt „Java” w Eclipse (Ctrl + N> Projekt Java), kliknij projekt prawym przyciskiem myszy w widoku Eksploratora pakietów i przejdź do Maven> Włącz zarządzanie zależnościami (w zależności od początkowej struktury projektu możesz zmodyfikować tak, aby pasował do mavena, na przykład dodając
src/java
do folderów źródłowych na ścieżce budowania).Jeśli utworzyłeś „Projekt Mavena” pod Eclipse (Ctrl + N> Projekt Mavena), to powinien być już „gotowy do Mavena”.
Jeśli utworzono projekt Maven poza Eclipse (ręcznie lub z archetypu), a następnie po prostu importować go w Eclipse ( kliknij prawym przyciskiem myszy na Package Explorer widoku i wybierz Importuj ...> Maven Projects ) i będzie to „Maven gotowy”.
Teraz, aby dodać zależność, kliknij projekt prawym przyciskiem myszy i wybierz Maven> Dodaj zależność ) lub edytuj pom ręcznie.
PS: unikaj używania wtyczki maven-eclipse, jeśli używasz m2eclipse. Absolutnie nie ma takiej potrzeby, będzie to zagmatwane, narobi bałaganu. Nie, naprawdę, nie używaj go, chyba że naprawdę wiesz, co robisz.
źródło
Dodaj to do pliku .classpath ..
Dzięki
źródło
Kliknij prawym przyciskiem myszy projekt Konfiguruj> przekonwertuj na projekt Maven
Następnie możesz zobaczyć całe menu związane z Maven dla twojego projektu.
źródło
Podobało mi się ...
Kliknij prawym przyciskiem myszy projekt -> skonfiguruj -> przekonwertuj na projekt maven. Kliknij prawym przyciskiem myszy projekt -> maven -> dodaj zależności.
źródło
W Eclipse (Mars) przejdź do:
Właściwości projektu -> Maven. Upewnij się, że opcja „Rozwiąż zależności z projektów obszaru roboczego” jest wyłączona .
źródło
Nie znalazłem mavena ani menu konfiguracji, ale znalazłem następujący przycisk, który rozwiązał mój problem:
źródło
Gdy m2eclipse jest poprawnie zainstalowany, powinien automatycznie dodawać zależności. Należy jednak wygenerować pliki projektu zaćmienia, wprowadzając:
lub alternatywnie, jeśli nie używasz m2eclipse:
źródło
Wystąpiła niewielka różnica, która spowodowała pewne problemy - wiele podprojektów w ramach jednego projektu. W tym przypadku musiałem przejść do każdego folderu zawierającego POM, wykonać polecenie mvn eclipse: eclipse, a następnie ręcznie skopiować / scalić wpisy ścieżki klas do pliku ścieżki klas projektu.
źródło
W przypadku nowszych wersji Eclipse (> = Mars) kliknij prawym przyciskiem myszy projekt> skonfiguruj> przekonwertuj na projekt Maven
źródło
Dodawanie odpowiedzi z kilku powodów:
Pomogła mi kolejna opcja w Maven o nazwie „Aktualizuj projekt”, a kiedy ją kliknę, otworzy się okno z polem wyboru „Wymuś aktualizację migawki / wydania”. Prawdziwy cel tego pola wyboru jest inny, wiem, ale w jakiś sposób rozwiązało problem z zależnościami.
źródło
Nic z tego nie rozwiązało mojego problemu. ale gdy kliknąłem plik pom.xml, na dole znajduje się zakładka o nazwie zależności. na tej karcie jest podzielony na 2 sekcje, jedną o nazwie zależności i jedną o nazwie zarządzanie zależnościami. wybierz wszystko w sekcji zależności i kliknij dodaj, aby znaleźć się pod kontrolą zarządzania zależnościami. zamknij i ponownie otwórz projekt.
źródło
Może mógłbyś zajrzeć do maven-eclipse-plugin zamiast M2Eclipse.
Tam w zasadzie dodajesz konfigurację maven-eclipse-plugin do pom.xml, a następnie uruchamiasz,
mvn eclipse:eclipse
co wygeneruje wymagane pliki.project
i.classpath
dla Eclipse. Wtedy będziesz mieć poprawną ścieżkę budowania w Eclipse.źródło
Upewnij się, że POM jest zgodny z konwencją nazewnictwa i jest nazwany małymi literami jako
pom.xml
i NIEPOM.xml
.W moim przypadku wszystko było w porządku, ale Eclipse wciąż narzekał, próbując kliknąć prawym przyciskiem myszy i
Update project configuration
- powiedział mi, że nie można odczytać POM. Zmieniono nazwę na małe litery -pom.xml
zPOM.xml
- i zadziałało.źródło
Też spotkałem się z tym problemem. Kiedy dodaję zależności w
pom.xml
, sprawdziłem w folderze lokalnym/Users/xyz/.m2/
i słoiki są już tam pobrane, ale nie mogę dodać ścieżki budowania zaćmienia.Moja wersja zaćmienia: Wersja Mars.2 (4.5.2)
kliknij prawym przyciskiem myszy projekt > Maven > Włącz rozdzielczość obszaru roboczego
I to rozwiązało mój problem.
źródło
Zwykle możesz skopiować plik .classpath z działającego projektu, ponieważ nie ma tu żadnego konkretnego projektu, zakładając, że masz strukturę standardowego projektu Maven.
źródło
To działało dla mnie w Eclipse Oxygen (4.7.0):
Kliknij prawym przyciskiem myszy Projekt -> Maven -> Wybierz profile Mavena ..., a następnie zaznacz pole Repozytorium Proxy, naciśnij OK.
źródło