この記事では、springboot の war パッケージと jar パッケージについての詳細な紹介 (コード例) を紹介します。必要な方は参考にしていただければ幸いです。
この記事で共有するのは、maven を使用して springboot で war パッケージと jar パッケージを作成することです。一般に、war は生成後に Tomcat の Web アプリの下に直接配置でき、war は自動的に解凍されるように構成されています。 、jar は通常、コマンド ラインのデプロイと起動を通じて生成されます。
まず、実際に war パッケージを生成する方法を見てみましょう。これは 3 つのステップに分かれています。
プログラム入口の変換#プログラム エントリ 変換するには、springboot のメイン エントランスをブロックし、SpringBootServletInitializer を継承して、configure メソッドを書き直す必要があります。具体的なコードは次のとおりです。 ##
@SpringBootApplication public class WebApplication extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(WebApplication.class); } // public static void main(String[] args){ // // } }
b86990c77ec45bfad4c402ad0f859e24 b4b38e33757a6497aa8690936b905cc1 05a8acc5c31084a4f61ade01873802caorg.springframework.boot192ca2f7b8c770b01c8f81e6bdd5b947 9bc4cbb67f66e148869423c0d27e5f90spring-boot-starter-tomcatb68fb17cb904a46b73e6272850323873 06db57cb000bdd2564c5b32a302b10e2provided03b1008234ba0cf6ad3c873aea327e8a 09a0e22e5aaafd848ae04665be625b91ここでは、tomcat のスコープを provided に設定することで除外されます。パッケージは springboot フレームワークに含まれています。スコープのデフォルトの役割は、コンパイル、コンパイル、テスト、実行です。 spring-boot-maven - メインをブロックしました。上記の入口は上にありますが、Tomcat は依然としてスタートアップ クラスを入口として使用するため、スタートアップ mainClass を設定する必要があります:
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <!--war包-执行程序入口 --> <configuration> <mainClass>com.platform.WebApplication</mainClass> </configuration> </plugin>最後に、エントリのパッケージ化を指定します。プロジェクトを war タイプとして指定します。
1 <packaging>war</packaging>上記のように、準備は完了しました。生成後のスクリーンショットは次のとおりです。 war パッケージの内容は META-INF と WEB-INF の部分です。 Linux 上の Tomcat の Web アプリに war をアップロードしましょう。 通常、Tomcat は自動的に解凍されます。 war パッケージをここに書きました。操作が成功すると、通常どおりブラウザに表示されます。 jar パッケージを開いて開始します。手順は war の手順と似ていますが、コメントの内容を削除するのは逆です。 メイン エントリ (スプリングブート テンプレートによって生成されたメイン、何も変更せずに)
Tomcat を除外する構成を削除します (デフォルトではそのような構成はありません)
maven-jar-plugin を使用しますパッケージ化用のプラグイン、プログラム エントリとさまざまな除外項目を指定します。 項目 主に war によってコメントアウトされたメイン エントリ操作をコメント化せずに復元します。通常、デフォルトで springboot テンプレートを使用して生成します:public static void main(String[] args) throws ParseException, Exception { SpringApplication springApplication = new SpringApplication(WebApplication.class); springApplication.setBannerMode(Banner.Mode.OFF); springApplication.run(args); }
<!--<dependency>--> <!--<groupId>org.springframework.boot</groupId>--> <!--<artifactId>spring-boot-starter-tomcat</artifactId>--> <!--<scope>provided</scope>--> <!--</dependency>-->
<!--打jar包--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.4</version> <configuration> <archive> <manifest> <!--<addClasspath>true</addClasspath>--> <!--<classpathPrefix>lib/</classpathPrefix>--> <!--main入口--> <mainClass>com.platform.WebApplication</mainClass> </manifest> </archive> <!--包含的配置文件--> <!--<includes>--> <!--<include>*.yml</include>--> <!--<include>*.properties</include>--> <!--<include>templates/**</include>--> <!--<include>static/**</include>--> <!--<include>*.xml</include>--> <!--</includes>--> </configuration> </plugin>最後に、パッケージ化を指定します。エントリ プロジェクトの war タイプ:
1 <packaging>jar</packaging>上記の手順を完了すると、図に示すように、成功した jar パッケージが表示されます。
最後に、Linux 上で java -jar web-0.0.01.SN...jar を使用して起動します。
以上がspringboot の war パッケージと jar パッケージの詳細な紹介 (コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。