2016-02-21 15 views
5

Po nieudanej próbie pakiet mvn wewnątrz Eclipse, ale sukces w terminalu, zdałem sobie sprawę, że Eclipse biegł Maven 3.3.3 natomiast Terminal został uruchomiony 3.3.9. Podjąłem próbę, a wszystkie pozorne konta powiodły się, aby ponownie skonfigurować zaćmienie, przechodząc do Eclipse -> Preferences -> Maven -> Installations i wskazując na mój folder 3.3.9. Ponownie uruchomiłem Eclipse i spróbowałem ponownie, ale nie było dostępne. Ponadto zmiany w pliku pom.xml nie są potwierdzane podczas próby zbudowania. Wstawiłem niewłaściwe ukośniki i inne znaki i generuję tylko ten błąd:nie można zmienić wersję Maven w Eclipse IDE

Błąd podczas tworzenia WAR: wymagany jest atrybut web.xml (lub istniejący WEB-INF/web.xml w przypadku wykonywania w trybie aktualizacji)

i zmodyfikowane mój plik pom zgodnie this zalecenia, ale jak powiedziałem, Maven nie rozpoznaje zmiany w pom i nie mogę się z systemem mvn --version produkować 3.3.9 jak powinno. Mam załączeniu mój pom.xml poniżej

<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.javawebtutor</groupId> 
<artifactId>LoginWebApp</artifactId> 
<packaging>war</packaging> 
<version>1.0-SNAPSHOT</version> 
<name>LoginWebApp Maven Webapp</name> 
<url>http://maven.apache.org</url> 
<dependencies> 
    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>servlet-api</artifactId> 
     <version>2.5</version> 
    </dependency> 
    <dependency> 
     <groupId>mysql</groupId> 
     <artifactId>mysql-connector-java</artifactId> 
     <version>5.1.30</version> 
    </dependency> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>4.10</version> 
    </dependency> 
</dependencies> 
<build> 
    <finalName>LoginWebApp</finalName> 
    <plugins> 
    <plugin>    
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-war-plugin</artifactId> 
     <configuration> 
     <webXml>src\main\webapp\WEB-INF\web.xml</webXml>   
     </configuration> 
    </plugin> 
    </plugins> 
</build> 

+0

pierwsze nie korzystają z powrotem ukośniki w pliku pom, bo można używać zamiast ukośniki, która jest niezależna od platformy. Ponadto nie musisz ustawiać ścieżki do 'web.xml', ponieważ domyślnie ma to w' src/main/webapp/WEB-INF/web.xml' .... Poza tym jeśli dostaniesz wiadomość 'WAR: atrybut web.xml jest wymagany. Powinieneś umieścić go w odpowiedniej lokalizacji. Jeśli jesteś pewien, że go nie potrzebujesz, można to osiągnąć, używając ' false' ... i bardzo ważne. Określ wersje wtyczek, których używasz .... BTW .: Nigdy nie pakowałbym się w Eclipse .. – khmarbaise

Odpowiedz

0

Normalnie trzeba ponownie zainstalować wtyczkę m2eclipse do uruchomienia z poprawnej wersji. Jeśli został zaktualizowany, nie będzie działać z poprzednim, ponieważ zajmie "starą" wersję maven.

7

Spróbuj skonfigurować konfigurację środowiska wykonawczego lub sprawdź, czy jest już używana.

W czasie zaćmienia kliknij prawym przyciskiem myszy projekt-> uruchom jako-> uruchom konfiguracje. Poszukaj sekcji m2 Maven Build po lewej stronie. Jeśli jest taki pod nazwą twojego projektu, edytuj go, w przeciwnym razie utwórz go. W dolnej części okna dialogowego znajduje się rozwijane, który pozwala wybrać, które Maven konfiguracja chcesz uruchomić:

enter image description here

To daje mi następujący wynik:

Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11 10T11:41:47-05:00) 
Maven home: C:\Program Files\Java\apache-maven-3.3.9 
Java version: 1.7.0_80, vendor: Oracle Corporation 
Java home: C:\Program Files\Java\jdk1.7.0_80\jre 
Default locale: en_US, platform encoding: UTF-8 
OS name: "windows 8.1", version: "6.3", arch: "amd64", family: "windows"