I have a simple Java Twitter bot built with twitter4j. I just need to have one Java class that runs nonstop and it should all be well. It runs fine locally, but is unable to run on Heroku for some reason.
Here's what it says when attempting to run:
2019-05-07T18:54:50.555626+00:00 heroku[worker.1]: Starting process with command `java -cp src/BotLottery.java`
2019-05-07T18:54:51.243272+00:00 heroku[worker.1]: State changed from starting to up
2019-05-07T18:54:52.269893+00:00 heroku[worker.1]: Process exited with status 1
2019-05-07T18:54:52.294324+00:00 heroku[worker.1]: State changed from up to crashed
2019-05-07T18:54:52.116218+00:00 app[worker.1]: Picked up JAVA_TOOL_OPTIONS: -Xmx300m -Xss512k -XX:CICompilerCount=2 -Dfile.encoding=UTF-8
2019-05-07T18:54:52.217204+00:00 app[worker.1]: Usage: java [-options] class [args...]
2019-05-07T18:54:52.217208+00:00 app[worker.1]: (to execute a class)
2019-05-07T18:54:52.217210+00:00 app[worker.1]: or java [-options] -jar jarfile [args...]
2019-05-07T18:54:52.217212+00:00 app[worker.1]: (to execute a jar file)
2019-05-07T18:54:52.217213+00:00 app[worker.1]: where options include:
2019-05-07T18:54:52.217215+00:00 app[worker.1]: -d32 use a 32-bit data model if available
2019-05-07T18:54:52.217216+00:00 app[worker.1]: -d64 use a 64-bit
data model if available
2019-05-07T18:54:52.217218+00:00 app[worker.1]: -server to select the "server" VM
2019-05-07T18:54:52.217220+00:00 app[worker.1]: The default VM is server,
2019-05-07T18:54:52.217224+00:00 app[worker.1]: because you are running on a server-class machine.
2019-05-07T18:54:52.217226+00:00 app[worker.1]:
2019-05-07T18:54:52.217227+00:00 app[worker.1]:
2019-05-07T18:54:52.217229+00:00 app[worker.1]: -cp <class search path of directories and zip/jar files>
2019-05-07T18:54:52.217230+00:00 app[worker.1]: -classpath <class search path of directories and zip/jar files>
2019-05-07T18:54:52.217232+00:00 app[worker.1]: A : separated list of directories, JAR archives,
2019-05-07T18:54:52.217233+00:00 app[worker.1]: and ZIP archives to search for class files.
2019-05-07T18:54:52.217235+00:00 app[worker.1]: -D<name>=<value>
2019-05-07T18:54:52.217237+00:00 app[worker.1]: set a system property
2019-05-07T18:54:52.217239+00:00 app[worker.1]: -verbose:[class|gc|jni]
2019-05-07T18:54:52.217240+00:00 app[worker.1]: enable verbose output
2019-05-07T18:54:52.217242+00:00 app[worker.1]: -version print
product version and exit
2019-05-07T18:54:52.217244+00:00 app[worker.1]: -version:<value>
2019-05-07T18:54:52.217245+00:00 app[worker.1]: Warning:
this feature is deprecated and will be removed
2019-05-07T18:54:52.217247+00:00 app[worker.1]: in a future release.
2019-05-07T18:54:52.217249+00:00 app[worker.1]: require the specified version to run
2019-05-07T18:54:52.217250+00:00 app[worker.1]: -showversion print product version and continue
2019-05-07T18:54:52.217252+00:00 app[worker.1]: -jre-restrict-search | -no-jre-restrict-search
2019-05-07T18:54:52.217253+00:00 app[worker.1]: Warning: this feature is deprecated and will be removed
2019-05-07T18:54:52.217255+00:00 app[worker.1]: in a future release.
2019-05-07T18:54:52.217256+00:00 app[worker.1]: include/exclude user private JREs in the version search
2019-05-07T18:54:52.217258+00:00 app[worker.1]: -? -help print this help message
2019-05-07T18:54:52.217259+00:00 app[worker.1]: -X print help on non-standard options
2019-05-07T18:54:52.217261+00:00 app[worker.1]: -ea[:<packagename>...|:
<classname>]
2019-05-07T18:54:52.217263+00:00 app[worker.1]: -enableassertions[:
<packagename>...|:<classname>]
2019-05-07T18:54:52.217265+00:00 app[worker.1]: enable
assertions with specified granularity
2019-05-07T18:54:52.217266+00:00 app[worker.1]: -da[:<packagename>...|:
<classname>]
2019-05-07T18:54:52.217268+00:00 app[worker.1]: -disableassertions[:
<packagename>...|:<classname>]
2019-05-07T18:54:52.217269+00:00 app[worker.1]: disable
assertions with specified granularity
2019-05-07T18:54:52.217271+00:00 app[worker.1]: -esa | -
enablesystemassertions
2019-05-07T18:54:52.217273+00:00 app[worker.1]: enable
system assertions
2019-05-07T18:54:52.217274+00:00 app[worker.1]: -dsa | -
disablesystemassertions
2019-05-07T18:54:52.217276+00:00 app[worker.1]: disable
system assertions
2019-05-07T18:54:52.217277+00:00 app[worker.1]: -agentlib:<libname>[=
<options>]
2019-05-07T18:54:52.217279+00:00 app[worker.1]: load native
agent library <libname>, e.g. -agentlib:hprof
2019-05-07T18:54:52.217281+00:00 app[worker.1]: see also, -
agentlib:jdwp=help and -agentlib:hprof=help
2019-05-07T18:54:52.217282+00:00 app[worker.1]: -agentpath:<pathname>[=
<options>]
2019-05-07T18:54:52.217284+00:00 app[worker.1]: load native
agent library by full pathname
2019-05-07T18:54:52.217285+00:00 app[worker.1]: -javaagent:<jarpath>[=
<options>]
2019-05-07T18:54:52.217287+00:00 app[worker.1]: load Java
programming language agent, see java.lang.instrument
2019-05-07T18:54:52.217289+00:00 app[worker.1]: -splash:<imagepath>
2019-05-07T18:54:52.217291+00:00 app[worker.1]: show splash
screen with specified image
2019-05-07T18:54:52.217298+00:00 app[worker.1]: See http://www.oracle.com/technetwork/java/javase/documentation/index.html for more details.
Starting process with command
java -cp src/BotLottery.java
That doesn't look right to me. The classpath is empty. And it should be a .jar
or a .class
file. Not a .java
file.