2012-01-22 25 views
5

Tôi đang tạo một dự án maven giả với hai mô-đun và tôi đã bao gồm tệp pom.xml chung. Tôi có thể xây dựng từ tệp pom.xml gốc và chạy tất cả các thử nghiệm nhưng khi triển khai các tệp đến Tomcat, nó rơi xuống. Plugin tôi có là:Tại sao tomcat-maven-plugin cố gắng triển khai sai URL?

<build> 
    <finalName>dummy</finalName> 
    <plugins> 
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>tomcat-maven-plugin</artifactId> 
      <configuration> 
       <url>http://127.0.0.1:8090/manager/text</url> 
       <server>TomcatServer</server> 
       <path>/dummy</path> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

settings.xml

<server> 
    <id>TomcatServer</id> 
    <username>admin</username> 
    <password>admin</password> 
</server> 

Tuy nhiên, khi tôi chạy việc xây dựng nó sử dụng các giá trị cấu hình mặc định và tôi nhận được thông báo lỗi sau:

Không thực hiện được mục tiêu org.codehaus.mojo: tomcat-maven-plugin: 1.1: triển khai (default-cli) trên webapp dự án: Không thể gọi trình quản lý Tomcat: http://localhost:8080/manager/deploy?path=%2Fwebapp&war= -> [Help 1]

Có ai biết cách tôi có thể nhận plugin sử dụng cấu hình của mình không?

Nhiều đầu ra:

[INFO] --- maven-war-plugin:2.1.1:war (default-war) @ webapp --- 
[INFO] Packaging webapp 
[INFO] Assembling webapp [webapp] in [C:\Websites\www.dummy.app\webapp\target\webapp] 
[INFO] Processing war project 
[INFO] Copying webapp resources [C:\Websites\www.dummy.app\webapp\src\main\webapp] 
[INFO] Webapp assembled in [15 msecs] 
[INFO] Building war: C:\Websites\www.dummy.app\webapp\target\webapp.war 
[WARNING] Warning: selected war files include a WEB-INF/web.xml which will be ignored 
(webxml attribute is missing from war task, or ignoreWebxml attribute is specified as 'true') 
[INFO] 
[INFO] <<< tomcat-maven-plugin:1.1:deploy (default-cli) @ webapp <<< 
[INFO] 
[INFO] --- tomcat-maven-plugin:1.1:deploy (default-cli) @ webapp --- 
[INFO] Deploying war to http://localhost:8080/webapp 
[INFO] ------------------------------------------------------------------------ 
[INFO] Reactor Summary: 
[INFO] 
[INFO] my-app ............................................ SUCCESS [4.747s] 
[INFO] webapp ............................................ FAILURE [3.313s] 
[INFO] dummy ............................................. SKIPPED 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 9.376s 
[INFO] Finished at: Mon Jan 23 22:46:11 GMT 2012 
[INFO] Final Memory: 18M/245M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.codehaus.mojo:tomcat-maven-plugin:1.1:deploy (default-cli) on project webapp: Cannot invoke Tomcat manager: http://localhost:8080/manager/deploy?path=%2Fwebapp&war= -> [Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException 
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command 
[ERROR] mvn <goals> -rf :webapp 

Cảm ơn

+1

URL quản lý của bạn trông lạ - tại sao có một '/ text' trong tên? Ngoài ra, bạn đã xác minh Tomcat có được định cấu hình đúng để chạy trên cổng 8080 và ứng dụng trình quản lý được cài đặt không? – Perception

+1

Để triển khai trên Tomcat7, URL cần kết thúc bằng/html hoặc/text. Tôi nghĩ rằng nó nên được/văn bản nhưng tôi havent nhận được rằng đến nay để kiểm tra :). Tomcat đang chạy trên cổng bên phải vì http://127.0.0.1:8090/manager/html giải quyết với Trình quản lý Tomcat – BIGDeutsch

+1

Bạn có thể đăng nhật ký bàn điều khiển có liên quan chạy nó trong chế độ gỡ lỗi ('mvn -X') không? – Raghuram

Trả lời

3
<properties> 
    <maven.tomcat.url>http://localhost:8080/manager/text</maven.tomcat.url> 
</properties> 

cố định nó cho tôi.

1

Tôi cũng có cùng một vấn đề. Đây là cách tôi giải quyết. Đây là câu trả lời trễ, tôi nghĩ câu trả lời này sẽ đúng ngay cả ngày hôm nay.

Tôi đang sử dụng tomcat7.The tomcat-maven-plugin: 1.1 mặc định tomcat url triển khai http://localhost:8080/manager/html, nhưng đối với tomcat 7 url đã thay đổi để http://localhost:8080/manager/text.

Bước 1: Tìm url & vai trò cho tomcat triển khai tệp chiến tranh.

tôi thấy rằng bằng cách thủ công sẽ

apache-tomcat-7.0.41\webapps\manager\WEB-INF\web.xml 

Url sử dụng để triển khai là: /văn bản, vì vậy maven nên sử dụng http://localhost:8080/manager/text Vai trò cho url này là "quản lý-script "

<security-constraint> 
    <web-resource-collection> 
     <web-resource-name>Text Manager interface (for scripts)</web-resource-name> 
     <url-pattern>/text/*</url-pattern> 
    </web-resource-collection> 
    <auth-constraint> 
     <role-name>manager-script</role-name> 
    </auth-constraint> 
    </security-constraint> 

Bước 2: Định cấu hình thông tin đăng nhập tomcat cho vai trò

Vì vậy, bây giờ chúng tôi đã tìm thấy URL để triển khai chiến tranh và vai trò.Nếu bạn không định cấu hình người dùng tomcat.Below là cách thêm vai trò vào apache-tomcat-7.0.41 \ conf \ tomcat-users.xml.

<tomcat-users> 

    <role rolename="manager"/> 
    <role rolename="manager-gui"/> 
    <role rolename="manager-script"/> 
    <role rolename="admin"/> 
    <user username="admin" password="admin" roles="admin,manager,manager-gui,manager-script"/> 

</tomcat-users> 

Bước 3: Định cấu hình tomcat-maven-plugin trong pom.xml để sử dụng url tomcat để triển khai.

Bây giờ chúng ta cần phải cấu hình tomcat-maven-plugin để sử dụng .Bây giờ cấu hình plugin của tôi trong tệp pom.xml.Điều này sẽ ghi đè lên địa chỉ triển khai mặc định tomcat-maven-plugin của tomcat.

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

Bước 4: Định cấu hình cài đặt của maven cho thông tin xác thực url tomcat.

Bây giờ cho plugin maven triển khai tệp chiến tranh lên tomcat, cần có tên người dùng & mật khẩu cho máy chủ tomcat của bạn. Tìm hiểu settings.xml của maven tọa lạc (tôi đang ở apache-maven-3.2.3 \ conf) và áp dụng các cấu hình dưới đây để các

<servers> 
    <server> 
     <id>mytomcatserver</id> 
     <username>admin</username> 
     <password>admin</password> 
    </server> 
</servers> 

Bước 5: Giờ phút sự thật

Bắt đầu tomcat.

gói mvn (tập tin chiến tranh tạo)

tomcat mvn: triển khai (xem tomcat console cho việc triển khai chiến tranh)

webapp của bạn sẽ có sẵn tại http://localhost:8080/{context}

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