Tomcatをmavenで埋め込んでいないwarファイルを作成したい。ここに私のポンポンの関連部分
...
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.1.6.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<!-- Add Tomcat only if I want to run directly -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-Tomcat</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
...
Mvnパッケージを実行すると、Tomcat * .jarがgiven-libフォルダーにあるが、まだlibフォルダーにあるという戦争が発生します。 build-tool-plugins-maven-packaging を読みましたが、何が悪いのかわかりません。
私の主なアイデアは、アプリケーションとして実行することであり、顧客がアプリケーションサーバーにどのように展開したいのかを知っています。
M. Deinumからのヒントに従って、Tomcat-depedencyを除外しました。
次のpom.xml(関連スニペット)でmaven clean package
は、私が取得したくない結果を持っています。
...
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.1.6.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-Tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<!-- Add Tomcat only if I want to run directly -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-Tomcat</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
...
idea-userの警告:実行構成で「指定されたスコープに依存関係を含める」を有効にする必要があります( 春を開始できません詳細については、IntelliJ Ideaの-bootアプリケーション )
それがそれを行うスプリングブート方法であるかどうかはわかりませんが、maven-war-plugin
構成を使用してTomcat jarを除外できます。つまり、pom.xmlに次を追加します。
<build>
<plugins>
...
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<packagingExcludes>WEB-INF/lib/Tomcat-*.jar</packagingExcludes>
</configuration>
</plugin>
</plugins>
</build>
このアプローチを使用すると、生成されたwarは実行可能ではありません(Java -jarを使用してコマンドラインで実行できません)が、サーブレットコンテナにのみデプロイできます
これと同じニーズがありましたが、前述の依存関係を削除することはできませんでした。これを追加することでWARファイルを取得できました<packaging>war</packaging>
私のpomファイルへの依存。
私はこれを使用しました Spring 記事をガイドとして...共有するので、これは他の人にも役立つかもしれません。
Spring-boot-starter依存関係の変更
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
これには、組み込みTomcatサーバーが除外されます。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-Tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>