Tôi không có ý tưởng làm thế nào tôi giữ mất tích này nhưng Tomcat Maven Plugin bây giờ hỗ trợ thực hiện một WAR thực thi :
http://tomcat.apache.org/maven-plugin-2.0/executable-war-jar.html
CẬP NHẬT nếu bạn cần Tomcat 8 bạn cần một cấu hình đặc biệt. Bạn phải sử dụng phiên bản 2.0 của plugin như plugin 2,2 Tomcat 7 sẽ không hoạt động và bạn sẽ cần plugin của bên thứ ba tomcat8-war-runner. Dưới đây tôi đã đính kèm cấu hình maven bạn cần cũng cho phép bạn chọn đúng phiên bản Tomcat 8 mà bạn muốn (thuộc tính tomcat.version
).
Plugin maven Tomcat8 ở trạng thái lộn xộn và vẫn chưa được phát hành (vui lòng bỏ phiếu bầu chọn jira và khiếu nại với họ để hoàn thành nó).
Cuối cùng, một cảnh báo quan trọng với phương pháp tiếp cận plugin maven này là plugin giả nhúng. Đó là ứng dụng của bạn sẽ không chạy trong cùng một trình nạp lớp như Tomcat và thực sự được triển khai trong khi khởi tạo. Có ưu và khuyết điểm đối với phương pháp này.
Khởi động mùa xuân và điều này example from Oracle mặt khác sẽ chạy Tomcat trong cùng một trình nạp lớp như ứng dụng của bạn (đó là nó thực sự được nhúng tôi nghĩ).
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.0</version>
<configuration>
<port>${tomcat.port}</port>
<path>/</path>
</configuration>
<executions>
<execution>
<id>tomcat-run</id>
<goals>
<goal>exec-war-only</goal>
</goals>
<phase>package</phase>
<configuration>
<path>/</path>
<port>${tomcat.port}</port>
<attachArtifactClassifierType>war</attachArtifactClassifierType>
<mainClass>org.apache.tomcat.maven.runner.Tomcat8RunnerCli</mainClass>
<extraDependencies>
<extraDependency>
<groupId>com.nitorcreations</groupId>
<artifactId>tomcat8-war-runner</artifactId>
<version>1.0</version>
</extraDependency>
</extraDependencies>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-util</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-coyote</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-api</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jdbc</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-dbcp</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-servlet-api</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jsp-api</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jasper</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jasper-el</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-el-api</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-catalina</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-tribes</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-catalina-ha</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-annotations-api</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-juli</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-logging-juli</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-logging-log4j</artifactId>
<version>${tomcat.version}</version>
</dependency>
</dependencies>
</plugin>
Nguồn
2012-12-19 22:49:15
nhúng tomcat trong webapp ... để làm gì? – aviad
Xin lỗi tôi đã bỏ lỡ câu hỏi. Tôi có nghĩa là kết hợp và không nhúng trong webapp chính nó. Ý tưởng của một lọ chất béo là để [đơn giản hóa DevOps] (http://dropwizard.codahale.com/getting-started/#building-fat-jars). Tất cả những gì bạn cần để chạy ứng dụng là 'java -jar my-webapp.jar'. –
Đây là một ví dụ khác về việc tạo ra Fat Jar: http://one-jar.sourceforge.net/ –