2013-08-01 34 views
5

Tôi đang theo dõi thisHợp đồng đầu tiên sử dụng hướng dẫn CXF và trong khi kết quả pom.xml tạo nguồn và thậm chí hoàn thành xây dựng thành công, không tạo được tệp WAR.Tại sao một maven-war-plugin tạo ra một JAR thay vì một WAR?

Thay vào đó, nó tạo tệp JAR.

hiểu biết của tôi được rằng phần trong pom.xml đó là chịu trách nhiệm cho việc tạo các WAR là:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-war-plugin</artifactId> 
    <version>2.1.1</version> 
    <configuration> 
    <outputDirectory>D:/path/to/profile/autodeploy</outputDirectory> 
    </configuration> 
</plugin> 

Tôi không thấy bất kỳ yếu tố <goal> hoặc <execution> đó (không giống như trong build-helper-maven-plugin một), nhưng tôi cũng hiểu rằng với plugin này, điều này được ngụ ý là ngay cả các số official usage page chứng minh:

<project> 
    ... 
    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-war-plugin</artifactId> 
     <version>2.4</version> 
     <configuration> 
      <webappDirectory>/sample/servlet/container/deploy/directory</webappDirectory> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 
    ... 
</project> 

Vì vậy ... tôi còn thiếu gì?

Điều gì có thể giải thích được maven-war-plugin hoạt động theo cách không mong muốn như thế này và tạo ra một JAR thay vì một WAR theo mặc định?

Có cách nào để buộc nó tạo ra WAR không?

+5

nên có một ' chiến tranh' ở đâu đó trong POM? – Thilo

Trả lời

13

bao bì phải như sau.

<packaging>war</packaging> 

nếu nó không giúp bạn thử ràng buộc cấu hình trình cắm của bạn với vòng đời.

4

trong định nghĩa dự án của bạn, vui lòng kiểm tra xem bao bì có bị thiếu hay không, nó phải là một số thứ như thế này.

<groupId>some.groupid</groupId> 
    <artifactId>My Web Application</artifactId> 
    <version>0.0.1</version> 
    <packaging>war</packaging> 
    <description>My First Web Application</description> 

Theo mặc định maven war plugin liên kết với package phase of the lifecycle, vì vậy điều quan trọng là chúng tôi nên đề cập đến loại bao bì mà chúng tôi muốn khi hoàn thành công việc xây dựng.

Tôi muốn đề xuất xem xét số Maven specs for war plugin.

Các vấn đề liên quan