2016-08-23 5 views
0

Ich versuche, eine App auf Heroku zu starten, aber ich habe ein Problem, ich werde Schritt für Schritt erzählen, was ich getan habe, um zu diesem Zeitpunkt zu kommen, wenn jemand mir helfen werde ich sehr helfen und ich werde einen Schokoladenkuchen schicken: DApp starten in Heroku (Maven)

Zuerst erstelle ich mein Maven-Projekt in Eclipse, in meinem localhost ging alles gut.

So sende ich den Code zu GitHub: https://github.com/ViniMartinPS/olimpiadas

Aber ich glaube nicht, dass der Code sehr hilfreich hier sein, in meinem Kopf, ist das Problem configs.

Ich meine App in Heroku erstellen und die Bereitstellung mit dem Git-Code, keine Probleme, Deploy OK. Ich habe auch 2 Plugins heruntergeladen: Heroku Postgree und JawsDB MySQL, aber ich habe nichts geändert. Mein Code ist nur ein Test, um zu sehen, ob Heroku für mich arbeitet.

So, dachte ich, alles in Ordnung zu testen war, aber ich habe die Fehlermeldung, wenn ich versuchte, auf die Seite zuzugreifen.

"Ein Fehler in der Anwendung aufgetreten und Ihre Seite nicht bedient werden konnten Bitte versuchen Sie es erneut in ein paar Momente.

Wenn Sie der Besitzer der Anwendung sind, überprüfen Sie Ihre Protokolle für Details. "

Und ich habe, dass im Protokoll:

2016-08-23T19:00:49.102379+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/games/webapi/jogos/esporte1" host=thawing-temple-28369.herokuapp.com request_id=f5edce97-25b5-4b6a-8139-47c6083260c9 fwd="179.132.109.129" dyno= connect= service= status=503 bytes= 
2016-08-23T19:00:49.588961+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=thawing-temple-28369.herokuapp.com request_id=f0c3ff79-2d70-4fa7-ad0a-b810ec9a6d38 fwd="179.132.109.129" dyno= connect= service= status=503 bytes= 

Dann erforschen ich über Dynos sehen/Procfiles und ich versuchte, zu erstellen und fügen Sie ihn in Heroku:

web: java $JAVA_OPTS -cp target/classes:target/olimpiadas/games/MyResource 

MyResource ist eine Klasse Beispiel, das ich in meinem Projekt habe.

dann starte ich das dynos:

2016-08-23T19:03:10.002566+00:00 heroku[web.1]: State changed from crashed to starting 
2016-08-23T19:03:12.998462+00:00 heroku[web.1]: Starting process with command `java $JAVA_OPTS -cp target/classes:target/olimpiadas/games/MyResource` 
2016-08-23T19:03:15.501843+00:00 app[web.1]: Setting JAVA_TOOL_OPTIONS defaults based on dyno size. Custom settings will override them. 
2016-08-23T19:03:15.506279+00:00 app[web.1]: Picked up JAVA_TOOL_OPTIONS: -Xmx350m -Xss512k -Dfile.encoding=UTF-8 
2016-08-23T19:03:15.728591+00:00 app[web.1]:   (to execute a jar file) 
2016-08-23T19:03:15.728598+00:00 app[web.1]:  -cp <class search path of directories and zip/jar files> 
2016-08-23T19:03:15.728603+00:00 app[web.1]:  -version  print product version and exit 
2016-08-23T19:03:15.728604+00:00 app[web.1]:  -version:<value> 
2016-08-23T19:03:15.728609+00:00 app[web.1]:     in a future release. 
2016-08-23T19:03:15.728613+00:00 app[web.1]:  -disableassertions[:<packagename>...|:<classname>] 
2016-08-23T19:03:15.728618+00:00 app[web.1]:     see also, -agentlib:jdwp=help and -agentlib:hprof=help 
2016-08-23T19:03:15.841736+00:00 heroku[web.1]: Process exited with status 1 
2016-08-23T19:03:15.875119+00:00 heroku[web.1]: State changed from starting to crashed 
2016-08-23T19:03:15.876084+00:00 heroku[web.1]: State changed from crashed to starting 
2016-08-23T19:03:18.382238+00:00 heroku[web.1]: Starting process with command `java $JAVA_OPTS -cp target/classes:target/olimpiadas/games/MyResource` 
2016-08-23T19:03:20.004342+00:00 app[web.1]: Setting JAVA_TOOL_OPTIONS defaults based on dyno size. Custom settings will override them. 
2016-08-23T19:03:20.009058+00:00 app[web.1]: Picked up JAVA_TOOL_OPTIONS: -Xmx350m -Xss512k -Dfile.encoding=UTF-8 
2016-08-23T19:03:20.401910+00:00 app[web.1]: Usage: java [-options] class [args...] 
2016-08-23T19:03:20.401923+00:00 app[web.1]:   (to execute a class) 
2016-08-23T19:03:20.401924+00:00 app[web.1]: or java [-options] -jar jarfile [args...] 
2016-08-23T19:03:20.401928+00:00 app[web.1]: 
2016-08-23T19:03:20.401929+00:00 app[web.1]:  -classpath <class search path of directories and zip/jar files> 
2016-08-23T19:03:20.401930+00:00 app[web.1]:  -D<name>=<value> 
2016-08-23T19:03:20.401934+00:00 app[web.1]:     Warning: this feature is deprecated and will be removed 
2016-08-23T19:03:20.401938+00:00 app[web.1]:     disable assertions with specified granularity 
2016-08-23T19:03:20.401940+00:00 app[web.1]:     load native agent library <libname>, e.g. -agentlib:hprof 
2016-08-23T19:03:20.401947+00:00 app[web.1]: See http://www.oracle.com/technetwork/java/javase/documentation/index.html for more details. 
2016-08-23T19:03:20.459704+00:00 heroku[web.1]: Process exited with status 1 
2016-08-23T19:03:20.459575+00:00 heroku[web.1]: State changed from starting to crashed 

ich den gleichen Fehler, wenn ich versuche, die Seite erneut zu verwenden. Wahrscheinlich ist dieses Procfile falsch, oder ich muss etwas anderes über Datenbanken hinzufügen, ich weiß es nicht.

Kann mir jemand helfen? Ich muss wirklich diese Anwendung bereitstellen, werde ich sehr glücklich sein :)

Vielen Dank

+0

Stehen Sie mit Git oder Maven Plugin bereitstellen? Ist deine 'Procfile' an Git gebunden (lass' git ls-files' bestätigen)? – codefinger

+0

Nevermind, der 'Startprozess mit Befehl' in den Protokollen bestätigt, dass es – codefinger

+0

ist Was wird angezeigt, wenn Sie' heroku config: get JAVA_OPTS' ausführen? – codefinger

Antwort

0

Es ist etwas falsch mit dem Befehl im Procfile, aber ich bin nicht sicher, was es ist. Um zu beginnen, reduzieren Sie Ihre Procfile nur dies:

web: java -cp target/classes:target/olimpiadas/games/MyResource 

EDIT

Ich habe erkannt, dieser Befehl keine Hauptklasse. Das ist das Problem. Ist olimpiadas.games.MyResource Ihre Hauptklasse?

+0

Das ist MyResource Klasse: –

0

@codefinger

das ist mein MyResource:

package olimpiadas.games; 

import javax.ws.rs.GET; 
import javax.ws.rs.Path; 
import javax.ws.rs.Produces; 
import javax.ws.rs.core.MediaType; 

/** 
* Root resource (exposed at "myresource" path) 
*/ 
@Path("myresource") 
public class MyResource { 

    /** 
    * Method handling HTTP GET requests. The returned object will be sent 
    * to the client as "text/plain" media type. 
    * 
    * @return String that will be returned as a text/plain response. 
    */ 
    @GET 
    @Produces(MediaType.TEXT_PLAIN) 
    public String getIt() { 
     return "Got it!"; 
    } 
} 
+0

das ist keine Hauptklasse. Sie brauchen eine Klasse mit einem 'public static void Hauptmethode – codefinger

+0

@codefinger, werde ich versuchen: D –