Error running the project in Play Framework. Failed to listen to port :9000

As you are able to start it using another port, it means that something is really using that port. It may be a different application or a previously stalled start of activator/play.

To find out what is using it you can use for example lsof in Linux:

$ lsof -i :9000

Once you find its pid you can stop that process.

If that port is used by another service and you really need it, instead of providing always the port to the run command, you can try to add to your sbtopts (either in ~/.sbtopts file or SBT_OPTS env var) this:

-Dhttp.port=9876