Spring Bootを使用してSpring FrameworkでJavaで最初のWebサイトを構築しようとしています。jar
で構築する方がはるかに簡単ですが、それについていくつか質問があります。
一般的な違いは何ですか?
jar
ファイルではビューは/resources/templates
の下にありますが、war
ファイルでは/webapp/WEB-INF/
の下にあります。
違いは何ですか?オンラインホストにjar
をデプロイできますか?
Spring Bootは、モジュール/サービスのすべての依存関係を含む「脂肪JAR」を生成するように指示され、 Java -jar <your jar>
。 「Mavenで実行可能JARを作成する」 here を参照してください。
Spring Bootは WARファイルを生成する に指示することもできます。この場合、TomcatやJettyなどのWebコンテナに展開することを選択する可能性があります。
Spring Bootの展開についての詳細はこちら こちら 。
spring-boot
_アプリケーションをファットとして実行_*.jar
_組み込みアプリケーションコンテナ(デフォルトオプションとしてTomcat
)を使用して実行可能な_fat JAR
_ファイルである、いわゆる_*.jar
_をビルドすることができます。さまざまなビルドシステム用の_spring-boot
_プラグインがあります。 maven
の場合: spring-boot-maven-plugin
fat
_*.jar
_の種類を実行するには、次のコマンドを簡単に実行できます。
_Java -jar *.jar
_
または_spring-boot-maven
_ゴールを使用:
_mvn spring-boot:run
_
spring-boot
_アーカイブとして_*.war
_アプリケーションを構築するもう1つのオプションは、アプリケーションを旧式のwar
ファイルとして出荷することです。あらゆるサーブレットコンテナに展開できます。手順を順を追って説明します。
packaging
をwar
に変更します(Mavenの_pom.xml
_について話します)SpringBootServletInitializer
からメイン_spring-boot
_アプリケーションクラスを継承し、SpringApplicationBuilder configure(SpringApplicationBuilder)
メソッドをオーバーライドします( javadoc を参照)spring-boot-starter-Tomcat
_のscope
をprovided
として設定してください展開に依存します。既存のJava EE Application Server(たとえばTomcat))にアプリケーションをデプロイする場合、標準的なアプローチはwar
ビルドを実行することです。
ファットjarアプローチを使用すると、アプリケーションはスプリングブートによって提供される組み込みアプリケーションコンテナーにデプロイされます。詳細については、 Spring Bootアプリケーションのデプロイ を実行してください。
ローカルでjarの問題を無料で展開したとき、私は同じ問題に直面していました。その後、サーバー上でデモする必要がありました。 pom.xmlタグを変更することにより、warファイルを作成できます
<packaging>jar</packaging>
に
<packaging>war</packaging>
ターゲットにwarファイルがあり、サーバーにデプロイできます(Tomcatは私の場合)