Sau khi không gói mvn bên trong Eclipse nhưng thành công trong terminal, tôi nhận ra rằng Eclipse đang chạy Maven 3.3.3 trong khi thiết bị đầu cuối đang chạy 3.3.9. Tôi đã cố gắng, và bởi tất cả các tài khoản rõ ràng đã thành công, để cấu hình lại nhật thực bằng cách đi tới Eclipse -> Preferences -> Maven -> Installations
và trỏ đến thư mục 3.3.9 của tôi. Tôi khởi động lại Eclipse và thử lại nhưng không có sẵn. Ngoài ra, các thay đổi đối với tệp pom.xml
không được xác nhận khi cố gắng tạo. Tôi đã chèn dấu gạch chéo không phù hợp và các ký tự khác và tôi chỉ có thể tạo lỗi này:Không thể thay đổi phiên bản Maven trong Eclipse IDE
Lỗi lắp đặt WAR: thuộc tính web.xml là bắt buộc (hoặc có sẵn WEB-INF/web.xml nếu đang thực hiện trong chế độ cập nhật)
tôi sửa đổi tập tin pom tôi theo this khuyến cáo nhưng như tôi đã nói, maven không nhận ra thay đổi đối với pom và tôi không thể có được chạy mvn --version
để sản xuất 3.3.9 như nó phải. Tôi đã gắn tôi pom.xml
dưới
<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>
đầu tiên không sử dụng dấu gạch chéo lên trong một tập tin pom, vì bạn có thể sử dụng dấu gạch chéo thay vì đó là nền tảng độc lập. Hơn nữa, bạn không cần thiết lập đường dẫn đến 'web.xml' vì mặc định là có nó trong' src/main/webapp/WEB-INF/web.xml'. Ngoài ra, nếu bạn nhận được thông báo 'WAR: thuộc tính web.xml là bắt buộc' bạn nên đặt một thuộc tính vào vị trí thích hợp. Nếu bạn chắc chắn rằng bạn không cần nó, điều này có thể đạt được bằng cách sử dụng ' false failOnMissingWebXml>' ... và rất quan trọng. Xác định các phiên bản của các plugin bạn đang sử dụng .... BTW .: Tôi sẽ không bao giờ gói bên trong của Eclipse .. –
khmarbaise