2016-06-13 39 views
0

私はHerokuにjarファイルをデプロイしていますが、Herokuは(依存関係のjarで)クラスファイルを見つけることができないという不満を常に抱いています。 Iすでに私のjarファイルにクラスを含めましたし、ローカルで実行すると、それは完璧に動作しますが、私はHerokuの上でそれを実行すると、それがエラーを吐く:Herokuがjarファイル内でクラスを見つけることができません

2016-06-13T06:04:30.743345+00:00 app[web.1]: Exception in thread "main" java.lang.NoClassDefFoundError: org/json/simple/parser/ParseException 
2016-06-13T06:04:30.743349+00:00 app[web.1]: at java.lang.Class.getDeclaredMethods0(Native Method) 
2016-06-13T06:04:30.744920+00:00 app[web.1]: at java.lang.Class.getMethod0(Class.java:3018) 
2016-06-13T06:04:30.744922+00:00 app[web.1]: at java.lang.Class.getMethod(Class.java:1784) 
2016-06-13T06:04:30.744923+00:00 app[web.1]: at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544) 
2016-06-13T06:04:30.744926+00:00 app[web.1]: at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
2016-06-13T06:04:30.744927+00:00 app[web.1]: at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
2016-06-13T06:04:30.745502+00:00 app[web.1]: at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
2016-06-13T06:04:30.745510+00:00 app[web.1]: ... 7 more 
2016-06-13T06:04:31.375413+00:00 heroku[web.1]: Process exited with status 143 
2016-06-13T06:04:31.774220+00:00 heroku[web.1]: Process exited with status 1 
2016-06-13T06:04:31.789553+00:00 heroku[web.1]: State changed from starting to crashed 

私は実際に伴いMavenの依存関係を含めました私のjarファイルのjarファイル。 Herokuは依存関係を展開する前に別の場所に配置する必要がありますか?どんな助けでも大歓迎です。ありがとう。

編集:誰でもHerokuがクラスファイルをチェックする場所を知っていますか?

+0

はあなたが脂肪-jarファイルを作成していますか? [すべての依存関係を持つ単一のjar] – Saravana

+0

アプリケーションをローカルでどのように実行しますか?アプリケーションをどのように組み立てますか? – NilsH

+0

あなたの 'Procfile'も表示してください – codefinger

答えて

0

その場合springbootアプリがあなたのポンポンタグはこのようになりますことを確認してください。

<plugin> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-maven-plugin</artifactId> 
      <executions> 
       <execution> 
        <goals> 
         <goal>repackage</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 

     <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-dependencies</goal></goals> 
       </execution> 
      </executions> 
     </plugin> 
+0

"これは、このように見えます "というとあまり曖昧に聞こえますが、より具体的になりますか? – Pyves

+0

ここでの目標は、「再パッケージは、」これは私がこの問題解決の前に、私は余分な追加するものです私は間違っていないよ場合は文句を言わないクラッシュので、Herokuの上でそれを実行している実行可能なjarファイルを作成します。 ' 再パッケージを ' プロジェクトがアップロードされた後、herokuで実行するコマンドが次のようになっているかどうかをProcfileで確認してください。 'web:java -Dserver.port = $ PORT -jar target/ .jar' –

関連する問題