2015-10-18 46 views
1

我在Heroku上部署的應用程序,我無法進入的Heroku沒有上下文定義

Heroku的日誌

2015-10-18T14:13:28.456831+00:00 heroku[web.1]: State changed from crashed to starting 
2015-10-18T14:13:38.538928+00:00 app[web.1]: Setting JAVA_TOOL_OPTIONS defaults based on dyno size. Custom settings will override them. 
2015-10-18T14:13:38.552255+00:00 app[web.1]: Picked up JAVA_TOOL_OPTIONS: -Xmx384m -Xss512k -Dfile.encoding=UTF-8 
2015-10-18T14:13:39.140316+00:00 app[web.1]: 2015-10-18 14:13:39.135:INFO:oejr.Runner:main: Runner 
2015-10-18T14:13:39.140320+00:00 app[web.1]: ERROR: No Contexts defined 
2015-10-18T14:13:39.140321+00:00 app[web.1]: Usage: java [-Djetty.home=dir] -jar jetty-runner.jar [--help|--version] [ server opts] [[ context opts] context ...] 
2015-10-18T14:13:39.140322+00:00 app[web.1]: Server opts: 
2015-10-18T14:13:39.140323+00:00 app[web.1]: --version       - display version and exit 
2015-10-18T14:13:39.140324+00:00 app[web.1]: --log file       - request log filename (with optional 'yyyy_mm_dd' wildcard 
2015-10-18T14:13:39.140325+00:00 app[web.1]: --out file       - info/warn/debug log filename (with optional 'yyyy_mm_dd' wildcard 
2015-10-18T14:13:39.140326+00:00 app[web.1]: --host name|ip      - interface to listen on (default is all interfaces) 
2015-10-18T14:13:39.140327+00:00 app[web.1]: --port n       - port to listen on (default 8080) 
2015-10-18T14:13:39.140328+00:00 app[web.1]: --stop-port n      - port to listen for stop command 
2015-10-18T14:13:39.130872+00:00 app[web.1]: 2015-10-18 14:13:39.127:INFO::main: Logging initialized @89ms 
2015-10-18T14:13:39.140329+00:00 app[web.1]: --stop-key n      - security string for stop command (required if --stop-port is present) 
2015-10-18T14:13:39.140329+00:00 app[web.1]: [--jar file]*n      - each tuple specifies an extra jar to be added to the classloader 
2015-10-18T14:13:39.140330+00:00 app[web.1]: [--lib dir]*n      - each tuple specifies an extra directory of jars to be added to the classloader 
2015-10-18T14:13:39.140331+00:00 app[web.1]: [--classes dir]*n     - each tuple specifies an extra directory of classes to be added to the classloader 
2015-10-18T14:13:39.140332+00:00 app[web.1]: --stats [unsecure|realm.properties] - enable stats gathering servlet context 
2015-10-18T14:13:39.140332+00:00 app[web.1]: [--config file]*n     - each tuple specifies the name of a jetty xml config file to apply (in the order defined) 
2015-10-18T14:13:39.140333+00:00 app[web.1]: Context opts: 
2015-10-18T14:13:39.140334+00:00 app[web.1]: [[--path /path] context]*n   - WAR file, web app dir or context xml file, optionally with a context path 
2015-10-18T14:13:39.939608+00:00 heroku[web.1]: Process exited with status 1 
2015-10-18T14:13:39.957993+00:00 heroku[web.1]: State changed from starting to crashed 

工頭開始

11:29:04 web.1 | started with pid 464 
11:29:04 web.1 | Error: Unable to access jarfile target/dependency/jetty-runner.jar 
11:29:04 web.1 | exited with code 1 
11:29:04 system | sending SIGTERM to all processes 

出海。 xml文件

<configuration> 
    <artifactItems> 
     <artifactItem> 
      <groupId>org.eclipse.jetty</groupId> 
      <artifactId>jetty-runner</artifactId> 
      <version>9.2.3.v20140905</version> 
      <destFileName>jetty-runner.jar</destFileName> 
     </artifactItem> 
    </artifactItems> 
</configuration> 

每次我想訪問我的應用程序通過瀏覽器

enter image description here

顯示如下消息因爲我無法訪問我的應用程序?與碼頭有任何兼容性錯誤?

回答

1

你是如何部署應用程序你?用git push,mvn heroku:deploy,heroku deploy:war,還有別的嗎?

pom.xml應該包括所有這一切圍繞着碼頭亞軍配置:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-dependency-plugin</artifactId> 
    <version>2.4</version> 
    <executions> 
     <execution> 
     <id>copy-dependencies</id> 
     <phase>package</phase> 
      <goals><goal>copy</goal></goals> 
      <configuration> 
       <artifactItems> 
        <artifactItem> 
         <groupId>org.eclipse.jetty</groupId> 
         <artifactId>jetty-runner</artifactId> 
         <version>9.2.7.v20150116</version> 
         <destFileName>jetty-runner.jar</destFileName> 
        </artifactItem> 
       </artifactItems> 
      </configuration> 
     </execution> 
    </executions> 
    </plugin> 

也就是說,確保它綁定到package目標。如果您使用的是git push,則檢查構建輸出以確保插件配置運行。

最後,檢查碼頭亞軍存在通過檢查毛坯:

$ heroku run ls target/dependency 
+0

你好codefinger,非常感謝你的幫助和解釋。我設法解決了這個問題,並且正常工作。 – ricardoramos

1

我設法解決部署到Heroku的問題。要格式化用CTRL + SHIFT + F快捷鍵我pom.xml文件在Eclipse中我的代碼如下:

問題

<plugin> 
    <groupId>com.heroku.sdk</groupId> 
    <artifactId>heroku-maven-plugin</artifactId> 
    <version>0.4.4</version> 
    <configuration> 
     <appName>cliente-mws-usp</appName> 
     <processTypes> 
      <web>java $JAVA_OPTS -jar target/dependency/jetty-runner.jar 
       --port $PORT target/*.war</web> 
     </processTypes> 
     <stack>cedar-14</stack> 
     <jdkVersion>1.7</jdkVersion> 
    </configuration> 
</plugin> 

問題是Heroku的只進行伸展java $JAVA_OPTS -jar target/dependency/jetty-runner.jar並把剩下的的命令--port $PORT target/*.war因爲我打破了路線。要撤消格式化並僅在一行上保留所有命令才能正常再次部署功能。

解決方案

<plugin> 
    <groupId>com.heroku.sdk</groupId> 
    <artifactId>heroku-maven-plugin</artifactId> 
    <version>0.4.4</version> 
    <configuration> 
     <appName>cliente-mws-usp</appName> 
     <processTypes> 
      <web>java $JAVA_OPTS -jar target/dependency/jetty-runner.jar --port $PORT target/*.war</web> 
     </processTypes> 
     <stack>cedar-14</stack> 
     <jdkVersion>1.7</jdkVersion> 
    </configuration> 
</plugin> 

再次感謝你這麼多的幫助和解釋。