ニート脱出のためプログラミングを始めた30代後半おじさんの冒険録。

ぱらぽれ

プログラミング

Java初心者がHerokuにデプロイするまでにやったことまとめ

初めてHerokuにデプロイするのにはまりにはまったので、メモとしてやったことを残しておきます。

TomcatベースでJSP&サーブレットを使ったEclipseプロジェクトのデプロイ方法です。

TomcatやJSP&サーブレットを使っていない場合はちょっと方法が違うようです。

ぱら
デプロイするまでに50時間かかりました><
ぽれ
長い闘いだったわよね

全部書くと大変な長さになるので、参考サイトをぺたぺた貼り付けていきます。

補足としてエラー対応を付け加えます。

必要なもの

  • herokuアカウント
  • Gitアカウント
  • Eclipse
  • maven
  • 根気!

筆者の知識レベル

  • java:始めて2か月。
  • heroku:無料でアップロードできるやつ。
  • git:githubをちょっと触ったことがある。gitとgithubって何が違うの。
  • maven:初めて聞いた。ライブラリを自動で持ってきてくれるらしい。
  • eclipse:べんりな機械。

デプロイ前の筆者はこんな感じでした。

Gitアカウントを作る

【GitHub超初心者入門】この前初めてGitHubを使い始めたエンジニア見習いが書くGitHubの使い方と実践~とりあえず一緒に動かしてみようぜ!

超わかりやすいです。

ここでは詰まることはありませんでした。

Herokuアカウントを作る

Heroku初心者がHello, Herokuをしてみる

Herokuアカウントを作って、試しにPHPをデプロイするところまでやります。

ここで流れがつかめるかと。

※今はHeroku Toolbeltではなく、The Heroku CLIをインストールします。

mavenをインストール

【超初心者向け】Maven超入門

mavenインストールからmavenビルドまでの流れです。

ここらへんから苦難が始まりました。

エラー対応

Eclipse2019-9以降を使っている人。

m2eプラグインが検索しても出てきません。

最初から入っていますので無視してOKです。

 

maven installが「BUILD SUCCESS」しない人。

筆者の場合は実行環境がJava13なので、pom.xmlのjavaバージョンを13.0.1にしたらエラー出ました。

コンパイラーが対応していないっぽいです。

なのでpom.xmlは参考サイト同じように書きましょう。

 

もし書き換えても駄目なら

  1. プロジェクトを右クリック
  2. ビルドパス→ビルドパスの構成
  3. JREシステムライブラリーをクリック→編集
  4. 実行環境をJavaSE-1.8(java8)に変更

いよいよHerokuにデプロイ!

TomcatベースのEclipseプロジェクトをHerokuにデプロイする

webアプリ用のmavenプロジェクトを作り、Herokuにデプロイするまでの流れです。

これでちゃんとサーブレットの「Hello World on Heroku!」が表示されればデプロイ成功。

 

※注意

index.jspの「Hello World!」が表示されたら失敗です。

サーブレットを認識していません。

エラー対応

mavenビルド中のエラー

WARNING: An illegal reflective access operation has occurred

WARNING: Illegal reflective access by com.thoughtworks.xstream.core.util.Fields

上記が表示された。

 

よくわかりません・・・。

mavenプラグインがEclipse2019-9に対応していないのでしょうか。

私はEclipse2018-9で同じことをやってみたらエラーが出なくなりました。

Herokuにデプロイ中のエラー

エラーメッセージは忘れてしまいました。

これもEclipse2018-9に変更したらエラー解消。

謎です。

デプロイできたがサーブレットが表示されない or 404表示

index.jspの「Hello World!」が表示されたり404表示がされてしまった。

サーブレットの登録ができていな可能性があります。

下記のサイトを参考にweb.xmlを書き換えて、@WebServletアノテーションは消去しましょう。

サーブレットの登録

それでもダメなら

warファイルを直接アップロードする。

Heroku公式:War Deployment

HerokuにWARファイルをデプロイする

上記サイトを参考にデプロイしてみてください。

私はダメでしたが、この方法で成功した方が多いようです。

JavaでHerokuにデプロイまとめ

ものすごい大変でした。

サーバーの知識、ネットワークの知識、ビルドツールの知識が全部欠けているために大ハマりしたと思っています。

プログラミングの文法を覚えるだけじゃダメなんだなあと思い知らされました。

ぱら
学ぶことが多い!
ぽれ
精進精進♪

-プログラミング

Copyright© ぱらぽれ , 2020 All Rights Reserved.