2012-02-18 61 views
6

Một số vấn đề: Trong dự án maven của tôi trong Eclipse Chạy như - Chạy trên Máy chủ không đến. 2) Vì vậy, tôi muốn chạy trực tiếp trong máy chủ tomcat, wo khi tôi cố gắng để tạo ra cuộc chiến lỗi sau là sắp lên Xin vui lòng giúp tôi ra, tôi có web.xml của tôi trong đường dẫn quy định chỉKhông thể xây dựng chiến tranh trong dự án maven

Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.1.1:war (default-war) 
on project SchoolMgmtApp: The specified web.xml file 
'F:\WorkSpace\SchoolMgmtApp\src\main\webapp\WEB-INF\web.xml' does not exist - 

Trả lời

22

Tôi nghĩ rằng lỗi là tự giải thích. Bạn không có web.xml trong dự án của mình. Đây có phải là mục đích không? Về lý thuyết, bạn có thể có tệp WAR không có tệp web.xml vì Servlet 3.0 hỗ trợ loại triển khai này. Trong trường hợp này, bạn phải định cấu hình plugin maven-war như sau:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-war-plugin</artifactId> 
    <version>2.2</version> 
    <configuration> 
    <failOnMissingWebXml>false</failOnMissingWebXml> 
    </configuration> 
</plugin> 
+0

web.xml là quán trọ của họ con đường quy định –

+1

Vì vậy, các tập tin là có nhưng Maven phàn nàn về điều đó không? Có lẽ một vấn đề cho phép tập tin? – chkal

+0

Có, tất nhiên, như các tài liệu một cách rõ ràng nhà nước failOnMissingWebXml là bắt buộc. Một ngón tay cái lên đến chkal cho đề cập đến ngoại lệ Servlet 3.0, đây là điểm trên! – TechTrip

5

Web.xml của bạn có thể không ở vị trí chuẩn. Một số trình thủ thuật tạo dự án Eclipse đặt web.xml trong WebContent/WEB_INF. Trong trường hợp này, bạn có thể sắp xếp lại dự án để maven thích nó, hoặc bạn có thể cho maven biết nơi tìm tệp web.xml của bạn trong tệp pom.xml.

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-war-plugin</artifactId> 
    <configuration> 
    <webXml>WebContent\WEB-INF\web.xml</webXml> 
    ... 
0

Tôi nghĩ rằng bạn đang tìm kiếm một cái gì đó như thế này:

<plugin> 
    <artifactId>maven-war-plugin</artifactId> 
    <version>2.6</version> 
    <configuration> 
     <warName>${applicationContextName}</warName> 
     <packagingExcludes> 
      AFolder, 
      aFile.xml 
     </packagingExcludes> 
    </configuration> 
    <executions> 
     <execution> 
      <id>default-war</id> 
      <phase>package</phase> 
      <goals> 
       <goal>war</goal> 
      </goals> 
     </execution> 
    </executions> 
</plugin> 
Các vấn đề liên quan