質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.50%
Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

Q&A

解決済

2回答

11932閲覧

SpringLoaded を使うと、ポートが空いてないと怒られる

redhat98

総合スコア236

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

0グッド

0クリップ

投稿2015/10/14 23:24

SpringBoot + SpringLoaded + Mavenで開発を行っています。

mvn spring-boot:run を実行 --> Eclipseでデバッグを中止 --> mvn spring-boot:run
の順番で実行すると、Tomcatから8080ポートが空いていないという例外がthrowされます。

java.net.BindException: Address already in use: bind at sun.nio.ch.Net.bind0(Native Method) at sun.nio.ch.Net.bind(Net.java:433) at sun.nio.ch.Net.bind(Net.java:425) at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223) at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:339) at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:760) at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:472) at org.apache.catalina.connector.Connector.startInternal(Connector.java:986) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.StandardService.addConnector(StandardService.java:237) 以下略

どうやら、javaのプロセスが2つ立ち上がっているのが原因のようなのですが、

イメージ説明

同じような方いらっしゃいませんか?
この問題の出し方は、
1 . Spring Initializrで次のソースをダウンロードしてください。
https://start.spring.io/starter.zip?type=maven-project&bootVersion=1.2.6.RELEASE&baseDir=demo&groupId=com.example&artifactId=demo&name=demo&description=Demo+project+for+Spring+Boot&packageName=com.example&packaging=jar&javaVersion=1.8&language=java&autocomplete=&generate-project=&style=web

  1. pom.xmlを次のように書き換えました。
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>springloaded</artifactId> <version>1.2.4.RELEASE</version> </dependency> </dependencies> </plugin> </plugins> </build>
  1. あとはEclipseでspring-boot:runをやっていただければOKです。

すいませんが、お願いします。

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

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

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

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

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

guest

回答2

0

自己解決

pom.xml の設定を変更したらば、プロセスが2つできなくなりました。

変更後のpom.xml

<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <fork>false</fork> </configuration> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>springloaded</artifactId> <version>1.2.3.RELEASE</version> </dependency> </dependencies> </plugin> </plugins> </build>

投稿2015/10/15 12:25

redhat98

総合スコア236

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

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

0

今移動中なので動作確認できる状況にないのですが、まずは下記ページの説明を参考に8080番ポートを占有しているプロセスを特定してから続きの調査をされてみてはいかがでしょうか。

[netstatでリッスンしているプロセスを特定する](http://www.atmarkit.co.jp/ait/spv/0207/30/news002.html) → 「netstat に-oオプションを付けて、プロセス名を特定する」の部分

投稿2015/10/14 23:45

pi-chan

総合スコア5936

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

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

redhat98

2015/10/15 08:36

回答ありがとうございます。 1回目のデバッグの際には、8080ポートでデバッグができています。 2回目のデバッグの時に、8080ポートが使えないよとエラーが出ます。 なので、他のプロセスは関係ないんじゃないかなーと....
pi-chan

2015/10/15 09:19 編集

「1回目のデバッグの際には、8080ポートでデバッグができています。」はとても重要な情報ですね…見落としていました、スミマセン。 ところで、そういう事情なのであれば、初回に実行したプロセスが終了せずポートを占有しっぱなしということではないでしょうか? デバッグ中との事ですが、どんな不具合でデバッグされているのですか? もしどこかで応答しなくなっているならデッドロックや無限ループの為に終了しなくなっているのかもしれません。 いずれにしても、2回目のデバッグ時には前回実行分の影響が無い状態に初期化してから実行開始しないと、たとえ起動できたとしても正しい結果にならず何をデバッグしているか分からない状態に陥って嵌まってしまいますよ。
redhat98

2015/10/15 12:23

pi-chan さん、海外のサイトを見ていたところ同じことで、困っている人たちがいるようでした。 自分で解決してしまいましたorz。何度も親切に回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問