2013-04-05 47 views
21

Tôi sử dụng Maven với Eclipse. Có thể xây dựng dự án và sau đó triển khai tệp WAR được xây dựng cho máy chủ Tomcat không?Làm thế nào để triển khai WAR với Maven tới Tomcat?

Tôi sử dụng Windows. Tôi có thể xây dựng WAR tệp và cũng có thể triển khai tệp đó trên máy chủ theo cách thủ công. Nhưng tôi muốn triển khai các tập tin WAR tự động sau khi xây dựng hành động và nó không hoạt động. Tôi là người mới ở Maven.

Tôi có nên đặt thứ gì đó trong cấu hình chạy của mình không? Tôi đã đặt mục tiêu thành giá trị install.

pom.xml

<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/xsd/maven-4.0.0.xsd"> 
<modelVersion>4.0.0</modelVersion> 
<groupId>HelloWorld</groupId> 
<artifactId>HelloWorld</artifactId> 
<version>0.0.1-SNAPSHOT</version> 
<packaging>war</packaging> 
<name>HelloWorld</name> 

<properties> 
    <spring.version>3.2.2.RELEASE</spring.version> 
</properties> 

<dependencies> 

    <!-- Java Server Pages Standard Tag Library --> 
    <dependency> 
     <groupId>jstl</groupId> 
     <artifactId>jstl</artifactId> 
     <version>1.2</version> 
    </dependency> 


    <!-- Spring 3 dependencies --> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-core</artifactId> 
     <version>${spring.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-beans</artifactId> 
     <version>${spring.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-context</artifactId> 
     <version>${spring.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-web</artifactId> 
     <version>${spring.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-webmvc</artifactId> 
     <version>${spring.version}</version> 
    </dependency> 
</dependencies> 

<build> 
    <directory>${project.basedir}/target</directory> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>2.3.2</version> 
      <configuration> 
       <source>${java-version}</source> 
       <target>${java-version}</target> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-dependency-plugin</artifactId> 
      <executions> 
       <execution> 
        <id>install</id> 
        <phase>install</phase> 
        <goals> 
         <goal>sources</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
     <!-- Maven Tomcat Plugin --> 
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>tomcat-maven-plugin</artifactId> 
      <configuration> 
       <server>Apache_Tomcat_7_x86</server> 
       <warFile>${project.build.directory}/HelloWorld-0.0.1-SNAPSHOT.war</warFile> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-war-plugin</artifactId> 
      <version>2.3</version> 
      <configuration> 
       <packagingExcludes>WEB-INF/web.xml</packagingExcludes> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

Hơn nữa tôi đã thay đổi settings.xml file trong đường dẫn ~/.m2/settings.xml.

settings.xml

<servers> 
     <server> 
     <id>Apache_Tomcat_7_x86</id> 
     <username>admin</username> 
     <password>admin</password> 
     </server> 
    </servers> 
+0

http://stackoverflow.com/questions/369639/maven-copy-war-to-tomcats-webapps-directory – user2418306

Trả lời

20

Trong khi đó tôi giải quyết nó. Có một vài vấn đề.

Trước hết tôi đặt Mục tiêu trong cấu hình chạy Eclipse chạy đến tomcat:deploy.

Và tôi đã thay đổi pom.xml sau

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>tomcat-maven-plugin</artifactId> 
    <configuration> 
    <url>http://localhost:8080/manager/text</url> 
    <server>Apache_Tomcat_7_x86</server> 
    <path>/HelloWorld</path> 
    </configuration> 
</plugin> 

URL trong cấu hình phụ thuộc vào phiên bản Tomcat. Đối với tôi hoạt động text, đối với những người khác hoạt động html ở cuối URL. Và tất nhiên, trong tomcat-users.xml phải được đặt vai trò manager-script hoặc manager-gui.

Có thể giúp ích cho người khác.

+1

biết thêm chi tiết [tại đây] (http://www.mkyong.com/maven/how-to -deploy-maven-based-war-file-to-tomcat /) – gkiko

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