Tomcatに展開されたSpring Boot War
2023-10-11 16:06:22
質問
AWSにデプロイしたいので、Spring BootアプリをTomcatにデプロイしようとしています。 WARファイルを作成したのですが、Tomcat上では見えているのに実行されないようです。
詳細を教えてください。
0. 以下は私のアプリです。
@Configuration
@ComponentScan
@EnableAutoConfiguration
public class App {
public static void main(String[] args) {
SpringApplication.run(SampleController.class, args);
}
}
@Controller
@EnableAutoConfiguration
public class SampleController {
@RequestMapping("/help")
@ResponseBody
String home() {
String input = "Hi! Please use 'tag','check' and 'close' resources.";
return input;
}
}
application.propertiesは以下のようになっています。
server.port=${port:7777}
-
いくつかの ページ と 質問回答 POMに以下を追加しました。
http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0
<groupId>com.niewlabs</groupId> <artifactId>highlighter</artifactId> <version>1.0-SNAPSHOT</version> <packaging>war</packaging> <properties> <java.version>1.8</java.version> </properties> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.1.9.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-tomcat</artifactId> <scope>provided</scope> </dependency> </dependencies>
-
mvn packageを実行し、WARファイル(サイズ250Mb)を取得し、quot;webapps;フォルダに入れました。
- Tomcatを起動し、アプリが表示されるのを確認することができました。
- アプリのリンクをクリックすると、"Status 404"ページが表示されます。
- Spring Bootアプリをコンテナなしで単体で実行するとlocalhost:7777で実行されますが、Tomcatで実行すると何も表示されません。
更新しました。 もうひとつ 参照 . どの程度役に立つかは不明です。
どのように解決するのですか?
Tomcat上にSpring Bootアプリをデプロイする方法を詳しく説明します。
http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto-create-a-deployable-war-file
基本的には、以下のようなクラスを追加する必要がありました。
public class WebInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(App.class);
}
}
また、POMに以下のプロパティを追加しました。
<properties>
<start-class>mypackage.App</start-class>
</properties>
関連
-
[解決済み] Spring Bootアプリケーションにポートを設定する方法
-
[解決済み] Springのセキュリティ認証の例外を@ExceptionHandlerで処理する
-
[解決済み] 同じurlパターンに対して異なる引数で2つのメソッドを作成する
-
[解決済み] SpringでLocalDateTime RequestParamを使用するには?StringからLocalDateTimeへの変換に失敗しました」と表示される。
-
[解決済み] Spring RestTemplateでSSL証明書検証を無効にする
-
[解決済み] Spring Bootアプリケーションの環境指定application.propertiesファイル [終了しました]。
-
[解決済み] SpringアプリケーションのコンテキストをJunitのテストクラスで再利用する
-
[解決済み] Spring Data Rest - 複数のプロパティでソートする
-
[解決済み] SpringでSession Objectを取得するには?
-
[解決済み] OncePerRequestFilterとは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 複数のBeanが見つかった場合、Springはどのように名前による自動配線を行うのですか?
-
[解決済み] Spring @PostConstruct と init-method 属性の比較
-
[解決済み] Spring Boot - 実行中のポートを取得する方法
-
[解決済み] 同じurlパターンに対して異なる引数で2つのメソッドを作成する
-
[解決済み] Spring BootとMongoDBへの接続設定方法
-
[解決済み] Spring RestTemplateでSSL証明書検証を無効にする
-
[解決済み] Spring Bootアプリケーションの環境指定application.propertiesファイル [終了しました]。
-
[解決済み] Intellij IDEAがSpring Bootのプロパティを解決できないと訴えるが、問題なく動作している
-
[解決済み] SpringアプリケーションのコンテキストをJunitのテストクラスで再利用する
-
[解決済み] Spring は Bean xml 設定ファイルが存在するにもかかわらず見つけることができない