2015-07-15 2 views
0

Я начинаю с Play Framework, и когда я отправляю следующие команды, он выдает исключение.Play Framework - Исключение канала JBoss

# play 

В Play консоли:

[play-java] $ run 

Он бросает:

org.jboss.netty.channel.ChannelException: Failed to bind to: /0.0.0.0:9000 
at org.jboss.netty.bootstrap.ServerBootstrap.bind(ServerBootstrap.java:272) 
at play.core.server.NettyServer$$anonfun$10.apply(NettyServer.scala:171) 
at play.core.server.NettyServer$$anonfun$10.apply(NettyServer.scala:168) 
at scala.Option.map(Option.scala:145) 
at play.core.server.NettyServer.<init>(NettyServer.scala:168) 
at play.core.server.NettyServer$$anonfun$mainDev$1.apply(NettyServer.scala:347) 
at play.core.server.NettyServer$$anonfun$mainDev$1.apply(NettyServer.scala:345) 
at play.utils.Threads$.withContextClassLoader(Threads.scala:18) 
at play.core.server.NettyServer$.mainDev(NettyServer.scala:344) 
at play.core.server.NettyServer$.mainDevHttpMode(NettyServer.scala:340) 
at play.core.server.NettyServer.mainDevHttpMode(NettyServer.scala) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:606) 
at play.PlayRun$$anonfun$playRunTask$1$$anonfun$apply$1.apply(PlayRun.scala:233) 
at play.PlayRun$$anonfun$playRunTask$1$$anonfun$apply$1.apply(PlayRun.scala:91) 
at scala.Function7$$anonfun$tupled$1.apply(Function7.scala:35) 
at scala.Function7$$anonfun$tupled$1.apply(Function7.scala:34) 
at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47) 

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:463) 
at sun.nio.ch.Net.bind(Net.java:455) 
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:366) 
at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:290) 
at org.jboss.netty.channel.socket.nio.NioServerBoss.run(NioServerBoss.java:42) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
at java.lang.Thread.run(Thread.java:745) 

Я пытаюсь с помощью моего локального пользователя, корневого пользователя, изменяя порты (т.е. run 8080) start вместо run, и это всегда вызывает то же исключение.

Кстати, порт 9000 не используется другим приложением.

У кого-нибудь есть ключ?

Я использую Ubuntu 12.04 LTS и Play Framework 2.2.6.

Спасибо.

+0

Я помню, Играть обыкновение иметь некоторые проблемы с скайпом случайным образом пытается использовать порт. Первое, о чем я думал. Попробуйте полностью его отключить. (Убивает сервис), а затем делает это – cjds

+0

У меня нет Skype, установленного на моей машине. Но это умная мысль, спасибо! – Laerte

+0

Что возвращает 'lsof -i: 9000'? – cjds

ответ

1

Ошибка в том, что ваш порт используется другим процессом.

В машине UNIX команда lsof -i:9000 предоставит процессы, которые используют порт.


Как вы отметили, правильно процессы с root разрешение может быть скрыто, если вы используете терминал не как root