🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

Q&A

解決済

1回答

1532閲覧

Spring:Intellij Ideaからmain関数を実行すると終了してしまう

S.N.

総合スコア21

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

0グッド

0クリップ

投稿2019/12/21 10:54

編集2019/12/21 11:00

やりたいこと

Intellij Ideaの画面右上にある実行ボタン(?)から、Spring bootのmain関数を実行、起動したいです。
すでにSpring Bootも2.2まで来ているようで、知らない仕様の変更があるのかもしれません...

各種バージョン情報

Spring Boot * Kotlinの組み合わせです。Intellij Ideaでいろいろやろうと考えています。

  • Spring Boot:2.2.2
  • Kotlin:1.3.61
  • Intellij Idea: Community Edition 2019_2
  • Gradle(ローカル): 6.0.1

症状

Intellij Ideaの画面右上にある実行ボタン(?)から、Spring bootのmain関数を実行すると、勝手に終了
してしまいます。このような出力を得ます。

kotlin

12019-12-21 19:32:47 localhost payment INFO Starting BillingsApplicationKt on macine with PID 1727 (/path/to/module/build/classes/kotlin/main started by me in /path/to/master) 22019-12-21 19:32:47 localhost payment INFO The following profiles are active: dev 32019-12-21 19:32:47 localhost payment INFO Started BillingsApplicationKt in 0.915 seconds (JVM running for 1.596) 4 5Process finished with exit code 0

ここでは、Logbackで出力を得ています。
あまり関係はないはずですが、複数のGradleプロジェクトを並べて含む構成を取っています。つまり、

- master(ルートプロジェクトに相当) - payment(ロジック本体) - framework(独自便利系ライブラリ)

やったこと

あまりなにかできるイメージもなく、ホームディレクトリ配下の .gradle ディレクトリを消すくらいです...
Gradleからの起動は可能でした。

machine:master me$ gradle :payment:bootRun Welcome to Gradle 6.0.1! Here are the highlights of this release: - Substantial improvements in dependency management, including - Publishing Gradle Module Metadata in addition to pom.xml - Advanced control of transitive versions - Support for optional features and dependencies - Rules to tweak published metadata - Support for Java 13 - Faster incremental Java and Groovy compilation - New Zinc compiler for Scala - VS2019 support - Support for Gradle Enterprise plugin 3.0 For more details see https://docs.gradle.org/6.0.1/release-notes.html Starting a Gradle Daemon, 1 stopped Daemon could not be reused, use --status for details > Task :payments:bootRun . ____ _ __ _ _ /\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ / _` | \ \ \ \ \/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.2.2.RELEASE) 2019-12-21 19:58:55 localhost payment-module INFO Starting BillingsApplicationKt on mac0087 with PID 4567 () 2019-12-21 19:58:55 localhost payment-module INFO The following profiles are active: dev 2019-12-21 19:58:56 localhost payment-module INFO Tomcat initialized with port(s): 18080 (http) 2019-12-21 19:58:56 localhost payment-module INFO Initializing ProtocolHandler ["http-nio-18080"] 2019-12-21 19:58:56 localhost payment-module INFO Starting service [Tomcat] 2019-12-21 19:58:56 localhost payment-module INFO Starting Servlet engine: [Apache Tomcat/9.0.29] 2019-12-21 19:58:56 localhost payment-module INFO Initializing Spring embedded WebApplicationContext 2019-12-21 19:58:56 localhost payment-module INFO Root WebApplicationContext: initialization completed in 555 ms 2019-12-21 19:58:56 localhost payment-module INFO Initializing ExecutorService 'applicationTaskExecutor' 2019-12-21 19:58:56 localhost payment-module INFO Starting ProtocolHandler ["http-nio-18080"] 2019-12-21 19:58:56 localhost payment-module INFO Tomcat started on port(s): 18080 (http) with context path '' 2019-12-21 19:58:56 localhost payment-module INFO Started BillingsApplicationKt in 1.023 seconds (JVM running for 1.345) <===========--> 90% EXECUTING [2m 20s]

Intellij Ideaの実行ログを確認したいのですが、見たところ探せず...
といった感じで、ほとんど何もできてないのが今です。

おわりに

正直、心当たりのある操作がほとんどないので困っています。Gradleから起動できるとはいえ、個人的には不便を感じます。
Spring Initializrでzip作ってインポートしてからずっとこの状態です。
これやった?、とかこれ確認してみ?、といった観点だけでもご教示いただければ幸いです。
また、足りない情報があればご指摘ください。

どうぞよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

rubytomato

2019/12/21 12:03

main関数が書いてあるktファイルを開いて、main関数の左側に表示されている実行アイコン(緑色の三角アイコン)をクリックして実行することはできますか?
S.N.

2019/12/21 12:05

ありがとうございます。 できまして、同じ結果になってしまいますね。
rubytomato

2019/12/21 12:07

同じ結果というのは症状に書いてある、起動しない状態ということでしょうか?
S.N.

2019/12/21 12:08

おっしゃるとおりです、記載したログと同じ出力を得ました。
rubytomato

2019/12/21 12:25

了解しました。 コンソールで起動できるということは、IntelliJ上のプロジェクト構造の問題かもしれませんね。 差し支えなければ、プロジェクトの構造について教えてください。 ・masterは、paymentとframeworkを格納するだけのemptyプロジェクトなのかどうか? ・Spring Bootアプリケーションなのは(main関数があるのは)paymentだけかどうか? ・frameworkはSpringに依存しないライブラリかどうか? また、プロジェクトの構築手順など再現できる情報を質問内容追記頂けますか? 再現できるプロジェクト構造をGithubにあげて頂ければ理想的です。
rubytomato

2019/12/21 12:42

> ・masterは、paymentとframeworkを格納するだけのemptyプロジェクトなのかどうか? この部分、ちょっとわかりにくかったので補足します。 具体的に知りたいのは、Gradleの機能でマルチプロジェクト化されているのか、IntelliJのモジュール機能を使われているのかという点です。
S.N.

2019/12/21 12:44

順番に回答いたします。 > masterは、paymentとframeworkを格納するだけのemptyプロジェクトなのかどうか? empty、というのかはわからないのですがgradle initで作れる、masterの雛形のようなものをほぼ踏襲して使ってます。 > Spring Bootアプリケーションなのは(main関数があるのは)paymentだけかどうか? その通りですね、実態はspringに依存しないgradleプロジェクトです。 プロジェクトの構築手順は、昔まさにほぼ同じ構造のgradleプロジェクトを作ったことがあり、masterとframeworkはコピーしてきてsetting.gradleを少し書き換えた形です。
rubytomato

2019/12/21 12:53

了解しました。 状況を再現できる最小構成のプロジェクトの構築手順を共有頂ければ、私の方でも調べられることがあるかもしれません。
guest

回答1

0

自己解決

ご回答、ありがとうございました。ちょっと具体的にはわからない部分もありますが、依存している
ライブラリの問題だったようで、解決しました。つまり、spring-boot-starter-tomcatを依存から外した
ところ起動できるようになりました。

投稿2019/12/22 03:47

S.N.

総合スコア21

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問