概要
activator ui
を実行した時にエラーが発生して起動できない時の対応方法。
発生するエラー
activator ui
を実行すると下記のエラーが発生する。
% activator ui
Found previous process id: 45476
Local repository: activator-launcher-local @ file:/usr/local/Cellar/typesafe-activator/1.3.6/libexec/repository
Play server process ID is 45741
[info] play - Application started (Prod)
Oops, cannot start the server.
org.jboss.netty.channel.ChannelException: Failed to bind to: /127.0.0.1:8888
at org.jboss.netty.bootstrap.ServerBootstrap.bind(ServerBootstrap.java:272)
at play.core.server.NettyServer$$anonfun$8.apply(NettyServer.scala:138)
at play.core.server.NettyServer$$anonfun$8.apply(NettyServer.scala:135)
at scala.Option.map(Option.scala:146)
at play.core.server.NettyServer.<init>(NettyServer.scala:135)
at play.core.server.NettyServer$.createServer(NettyServer.scala:252)
at play.core.server.NettyServer$$anonfun$main$3.apply(NettyServer.scala:289)
at play.core.server.NettyServer$$anonfun$main$3.apply(NettyServer.scala:284)
at scala.Option.map(Option.scala:146)
at play.core.server.NettyServer$.main(NettyServer.scala:284)
at activator.UIMain$$anonfun$run$1.apply$mcV$sp(UIMain.scala:106)
at activator.UIMain$$anonfun$run$1.apply(UIMain.scala:106)
at activator.UIMain$$anonfun$run$1.apply(UIMain.scala:106)
at activator.UIMain.withContextClassloader(UIMain.scala:217)
at activator.UIMain.run(UIMain.scala:106)
at activator.UIMain.run(UIMain.scala:86)
at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:109)
at xsbt.boot.Launch$.withContextLoader(Launch.scala:128)
at xsbt.boot.Launch$.run(Launch.scala:109)
at xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:35)
at xsbt.boot.Launch$.launch(Launch.scala:117)
at xsbt.boot.Launch$.apply(Launch.scala:18)
at xsbt.boot.Boot$.runImpl(Boot.scala:41)
at xsbt.boot.Boot$.main(Boot.scala:17)
at xsbt.boot.Boot.main(Boot.scala)
Caused by: java.net.BindException: Address already in use
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:437)
at sun.nio.ch.Net.bind(Net.java:429)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at org.jboss.netty.channel.socket.nio.NioServerBoss$RegisterTask.run(NioServerBoss.java:193)
at org.jboss.netty.channel.socket.nio.AbstractNioSelector.processTaskQueue(AbstractNioSelector.java:391)
at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:315)
at org.jboss.netty.channel.socket.nio.NioServerBoss.run(NioServerBoss.java:42)
at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
既に127.0.0.1:8888
が利用されているってエラーなので調べてみたが特に使ってるプロセスも見つからない。
対応方法
activator ui
の実行時に別ポートを指定して起動させる。
activator -Dhttp.port=9999 ui
その他
今回は時間がなくて根本原因が分からなかったが気持ち悪いので後ほど調べる。