2017-11-18 10 views
0

JavaサーバーをHerokuにデプロイしようとすると、このエラーが発生します。JavaのHerokuデプロイメントが失敗しています

enter image description here

2017-11-18T18:22:34.252354+00:00 heroku[router]: at=error code=H14 desc="No web 
processes running" method=GET path="/favicon.ico" host=javachatapp-dataserver.herokuapp.com request_id=e899dbbc-1687-470d-a14f-2fffd0cdba12 fwd="24.125.73.190" dyno= connect= service= status=503 bytes= protocol=https 

2017-11-18T18:22:34.195269+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/" host=javachatapp-dataserver.herokuapp.com request_id=f3363e55-f850-4235-90e2-6cb6468dc7e5 fwd="24.125.73.190" dyno= connect= service= status=503 bytes= protocol=https 

私はHerokuのが構築されている場合ので、私はこのエラーを参照してください。それはプロファイルに誤ったパスを持っていると思う:

2017-11-18T01:04:45.763178+00:00 heroku[web.1]: Starting process with command `java -jar ./target/chatappdataserver-1.0-jar-with-dependencies.jar` 
2017-11-18T01:04:47.619837+00:00 app[web.1]: Setting JAVA_TOOL_OPTIONS defaults based on dyno size. Custom settings will override them. 
2017-11-18T01:04:47.620602+00:00 app[web.1]: Error: Unable to access jarfile ./target/chatappdataserver-1.0-jar-with-dependencies.jar 

をしかし、これは文字通り私のProcfileが持っているものですその中に:

私が英雄のbashにログインすると上記のコマンドでサーバを手動で起動すると、heroku openでサーバを起動するherokuを取得できないようです。すべてのリリースでクラッシュします。誰もこれを見たことがありますか? Herokuので

Procfile enter image description here


のpom.xml

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>com.wisen.chatappdataserver</groupId> 
    <artifactId>chatappdataserver</artifactId> 
    <version>1.0-SNAPSHOT</version> 


    <dependencies> 
     <dependency> 
      <groupId>com.sparkjava</groupId> 
      <artifactId>spark-core</artifactId> 
      <version>2.2</version> 
     </dependency> 
    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>2.3.2</version> 
       <configuration> 
        <source>1.8</source> 
        <target>1.8</target> 
       </configuration> 
      </plugin> 
      <plugin> 
       <artifactId>maven-assembly-plugin</artifactId> 
       <executions> 
        <execution> 
         <phase>package</phase> 
         <goals> 
          <goal>single</goal> 
         </goals> 
        </execution> 
       </executions> 
       <configuration> 
        <descriptorRefs> 
         <!-- This tells Maven to include all dependencies --> 
         <descriptorRef>jar-with-dependencies</descriptorRef> 
        </descriptorRefs> 
        <archive> 
         <manifest> 
          <mainClass>Main</mainClass> 
         </manifest> 
        </archive> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>com.heroku.sdk</groupId> 
       <artifactId>heroku-maven-plugin</artifactId> 
       <version>0.4.4</version> 
       <configuration> 
        <jdkVersion>1.8</jdkVersion> 
        <appName>javachatapp-dataserver</appName> 
        <processTypes> 
         <!-- Tell Heroku how to launch your application --> 
         <web>java -jar ./target/chatappdataserver-1.0-jar-with-dependencies.jar</web> 
        </processTypes> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 



</project> 

答えて

0

これは、我々が保証されます

$ heroku ps:scale web=1 

を実行してみてくださいb dynoが実行中です。前回のデプロイで何かがスケールダウンする可能性があります。

+0

このコマンドを実行すると、そのプロセスタイプが見つかりませんでした。私は実際に英雄の自由階層にあり、すでにレポが展開されています。なぜそれが働いていないの理由かもしれませんか? – wizeOnes

+0

Gitでデプロイしていますか? Procfileはチェックインされていますか? – codefinger

+0

私はmavenを使ってデプロイしました: 'mvn heroku:deploy'、' heroku open'。しかし、私が初めて配備したときは、git push: 'git push heroku master'と' heroku open'でした。 Herokuからそのリポジトリ全体を削除し、mavenを使って再デプロイしました。 – wizeOnes

1

私は興味深い2つのことを見ています。

あなたprocfileは、あなたのポンポンが1.0-SNAPSHOTとしてバージョンを定義しますが、Herokuのは、あなたが共有ログインに応じてjarファイルjava -jar ./target/chatappdataserver-1.0-jar-with-dependencies.jarを見つけようとするため、合理的である

web: java -jar ./target/chatappdataserver-1.0-SNAPSHOT-jar-with-dependencies.jar

を指します。

これは奇妙で、あなたが理解する必要があるものです。または、お使いのバージョンを1.0

に変更してください。バージョンにSNAPSHOTを付ける必要はありません。

私が奇妙だと思うもう一つは、使用するポートを指定しないということです。 Herokuはポートを動的に割り当て、ホストからjavachatapp-dataserver.herokuapp.comのポート80のコールをこの動的に割り当てられたポートにルーティングします。私procfileで

は、私は私の完全なprocfileこの

web: java $JAVA_OPTS -Dport=$PORT -jar ./build/libs/tage-1.0-SNAPSHOT-all.jar

私はGradleのようにパスを使用して構築してるように見えるこの

-Dport=$PORT

のようにポートを定義していますjarファイルは異なります。しかし、これはMavenとGradleをこの文脈で使用する大きな違いです。

+0

これは、pom.xmlファイルのWebプロセスが 'java -jar。/ target/chatappdataserver-1.0-jar-with-dependencies.jar'を参照していたためです。私はそれを 'web:java -jar。/ target/chatappdataserver-1.0-SNAPSHOT-jar-with-dependencies.jar'に変更しました。 – wizeOnes

関連する問題