Wenn ich versuche, meine (lokal) zu laufen spielen Anwendung über das play2 Plugin von intellij
ich:
[ERROR] [06/03/2017 23:21:10.985] [play-dev-mode-akka.actor.default-dispatcher-2] [akka://play-dev-mode/system/IO-TCP/selectors/$a/0] Bind failed for TCP channel on endpoint [/0.0.0.0:80]
java.net.SocketException: Permission denied
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 akka.io.TcpListener.liftedTree1$1(TcpListener.scala:56)
at akka.io.TcpListener.<init>(TcpListener.scala:53)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at akka.util.Reflect$.instantiate(Reflect.scala:65)
at akka.actor.ArgsReflectConstructor.produce(IndirectActorProducer.scala:96)
at akka.actor.Props.newActor(Props.scala:213)
at akka.actor.ActorCell.newActor(ActorCell.scala:555)
at akka.actor.ActorCell.create(ActorCell.scala:581)
at akka.actor.ActorCell.invokeAll$1(ActorCell.scala:454)
at akka.actor.ActorCell.systemInvoke(ActorCell.scala:476)
at akka.dispatch.Mailbox.processAllSystemMessages(Mailbox.scala:282)
at akka.dispatch.Mailbox.run(Mailbox.scala:223)
at akka.dispatch.Mailbox.exec(Mailbox.scala:234)
at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
akka.stream.BindFailedException$: bind failed
Wenn ich aber laufen es über sbt run
funktioniert alles wie ein Charme.
1) Warum ist das? 2) Wie kann ich das beheben? (Unter Linux 4.11 hier ausgeführt - ich verstehe, dass der Port nur "sudoers" erlaubt ist, aber dann frage ich mich, warum die funktioniert) 3) Jede andere Möglichkeit, im "Debug-Modus" zu spielen? Ich möchte einige Breakpoints setzen und den Flow analysieren.
Aber ich will nicht zu „implementieren“ in dem Sinne, dass sie die Produktion bereit ist. Ich möchte das gleiche wie 'sbt run' tut – Sorona
Ja, ich weiß, ich biete Ihnen nur eine Alternative. Sie können zwei verschiedene Konfigurationen haben, eine für local mit Port 9000 und eine für die Produktion mit Port 80, was ich meinte. Übrigens, hier ist ein roter Faden. Sie können Port 8080 auch für lokale verwenden: https://stackoverflow.com/questions/8205067/how-do-i-change-the-default-port-9000-that-play-uses-when-i-execute- the-run –
Mein 'sbt run' wird bereits auf Port 9000 deployt. Nur das play2-Plugin versucht Port 80 aus unbekannten Gründen nicht. Es tut mir leid, ich kann dir nicht folgen. – Sorona