アプリのディプロイって本当に大変ですよね。
大変とはきいていたもののこんなに大変だと思いませんでした。
私はディプロイするためにおそらく50時間位かかりました。
Paasを利用したに関わらず…
アプリ作ったはいいもののディプロイが出来ない。
こんなに悔しい事はありません。
なので今回はHerokuを使ったJavaアプリでディプロイ時についてつまずいたエラー解決について書いて行きたいと思います。
どんなエラー?
Herokuにて、
heroku createした後に下記コマンドを使用してGitHubのアプリをプッシュする際にエラーが発生しました。
git push heroku master
上記コマンドを実行するといろいろなプログラムがビルドされていきますが、
下記の画像のように最終的に「BUILD FAILURE」となります。
上記のエラー文の中に、
remote: [ERROR] [Help 1] [<http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException>](<http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException>)」
という文を発見しました。
MojoExecutionException?
Mavenの公式HPから調べてみると、下記のような文が見つかりました。※Google翻訳
他の多くのエラーとは異なり、この例外はMavenコア自体ではなく、プラグインによって生成されます。経験則として、プラグインはこのエラーを使用して、構成の問題またはPOMから取得した情報を通知します。
http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
おそらくpom.xmlのプラグインに何か問題があると私は解釈しました。
そこでデフォルトで生成されたpom.xmlの11の部分のが私的には間違えていると考え、11→15 へ書き換え再度pushしてみましたが同じエラーが抽出されてしまい上手くいきませんでした。
何を行ってもプッシュがお手上げ状態でBUILD FAILUREと出力がされてしまっていました。
解決法
最終的には自分で解決出来ずQiitaで質問をさせて頂いた所、
ご助言を頂き解決する運びとなりました。
エラーの原因は、
私の作成したpom.xmlはJavaのversionを指定していた事がおそらくの原因で指定していたversionもHerokuでの推奨では無かったということでした。
なのでアドバイス通りに不必要なものを削除し、pushをおこなった所無事にサクセスが出力されアプリをディプロイすることが出来ました。
私が作成しているQiitaの記事になります。
push heroku masterでのMojoExecutionException
まとめ
今回はJavaアプリのディプロイについて書かせて頂きました。
HerokuのJavaディプロイの記事はまだ少なく、私自身もかなり苦労をしたので誰かのお役に立てれば良いなと思い備忘録として残しておきたいと思います。
また後日ディプロイのために私が勉強したこともアップしていきたいと思いますのでそちらのブログもぜひ見てみて下さい。
最後にQiitaで返信をしてくださった方へ改めて感謝を申し上げたいと思います。
この度は誠にありがとうございました。
駆け出しエンジニア けいこ♂
コメント