I've been fighting with this for hours and I can't figure out why after deploying my Scala Play 2.2 application in Heroku I get this stacktrace:
2013-09-30T01:05:09.413177+00:00 heroku[web.1]: Starting process with command `target/start -Dhttp.port=18174 $PLAY_OPTS`
2013-09-30T01:05:10.931893+00:00 app[web.1]: bash: target/start: No such file or directory
2013-09-30T01:05:12.382399+00:00 heroku[web.1]: Process exited with status 127
2013-09-30T01:05:12.414050+00:00 heroku[web.1]: State changed from starting to crashed
I've tried several Procfile versions with no success, some examples are:
web: target/start -Dhttp.port=$PORT
web: target/start -Dhttp.port=$PORT $PLAY_OPTS
web: target/start -Dhttp.port=$PORT $JAVA_OPTS
web: target/start Web -Dhttp.port=$PORT $PLAY_OPTS
web: target/start -Dhttp.port=$PORT $PLAY_OPTS -Dconfig.file=application.conf
web: target/start -Dhttp.port=$PORT $PLAY_OPTS -Dconfig.file=conf/application.conf
I even tried using no Procfile.
I'm using Scala 2.10.2 and Play 2.2. In the same Heroku application I had a previous version of my project running on Play 2.0, I don't know if that is related.
The application works perfect locally. I connected to the bash in Heroku and run
sbt clean
sbt stage
by hand and I checked that the target gets cleaned and built again.
What does the "target/start: No such file or directory" refer to? To the target? To the start command? To something else?
Play 2.2 changed the name and location of the file used to start your app
http://www.playframework.com/documentation/2.2.x/Production
For example, to start an application of the project ‘foo’ from the project folder, update your Procfile to run:
target/universal/stage/bin/foo
See Deploy to Heroku, especially Connecting to a database
section.
I solved it as follows (possibly already answered but here are my steps)
$ heroku local web
Got the following output in the console
forego | starting web.1 on port 5000
web.1 | /bin/bash: target/bin/Service: Permission denied
Then I did
$chmod 777 target/bin/Service
and problem resolved.
Here, Service is the name of my application (as specified in pom.xml org.codehaus.mojo plugin) and here is what my Procfile file content looks like
web: target/bin/Service -Dhttp.port=${PORT} ${JAVA_OPTS} -DapplyEvolutions.default=true -Ddb.default.driver=org.postgresql.Driver -Ddb.default.url=${DATABASE_URL}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With