(yineleme olarak kapatmak için oy lütfen): Sonunda buldum burada sorunun bir kopyası vardır
: Eğer Tomcat 8 gerekirse
http://tomcat.apache.org/maven-plugin-2.0/executable-war-jar.html
GÜNCELLEME Eğer özel bir yapılandırma gerekir. 2.2 Tomcat 7 eklentisi çalışmazsa ve tomcat8-war-runner üçüncü taraf eklentisine ihtiyacınız olacaksa, eklentinin 2.0 sürümü'u kullanmanız gerekir. Aşağıda, ihtiyacınız olan Tomcat 8'in (tomcat.version
özelliği) doğru sürümünü seçmenize izin verecek olan maven konfigürasyonunu ekledim.
Tomcat8 maven eklentisi dağınık bir durumda ve hala serbest bırakılmadı (lütfen jira'ya oy verin ve bitirmek için onlara şikayette bulunun).
Son olarak, bu maven eklenti yaklaşımıyla ilgili önemli bir uyarı, eklentinin sözde yerleştirilmiş olmasıdır. Bu, uygulamanız Tomcat ile aynı sınıfta yayınlanmayacak ve başlatma sırasında dağıtılacak. Bu yaklaşıma artıları ve eksileri vardır.
Spring Boot ve bu example from Oracle, diğer yandan Tomcat'i uygulamanızla aynı sınıf yükleyicide çalıştıracaktır (yani bence gerçekten gömülüdür).
<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>
Webcat'te tomcat'i yerleştirme ... ne için? – aviad
Üzgünüm, soruyu özledim. Webapp'ın kendisinde birleştirmek ve yerleştirmek istemedim. Yağ kavanozu fikri [DevOps'u basitleştirmektir] (http://dropwizard.codahale.com/getting-started/#building-fat-jars). Uygulamayı çalıştırmak için gereken tek şey "java -jar my-webapp.jar". –
İşte Fat Jar oluşturma başka bir örneğidir: http://one-jar.sourceforge.net/ –