初めてHerokuにデプロイするのにはまりにはまったので、メモとしてやったことを残しておきます。
TomcatベースでJSP&サーブレットを使ったEclipseプロジェクトのデプロイ方法です。
TomcatやJSP&サーブレットを使っていない場合はちょっと方法が違うようです。


全部書くと大変な長さになるので、参考サイトをぺたぺた貼り付けていきます。
補足としてエラー対応を付け加えます。
必要なもの
- herokuアカウント
- Gitアカウント
- Eclipse
- maven
- 根気!
筆者の知識レベル
- java:始めて2か月。
- heroku:無料でアップロードできるやつ。
- git:githubをちょっと触ったことがある。gitとgithubって何が違うの。
- maven:初めて聞いた。ライブラリを自動で持ってきてくれるらしい。
- eclipse:べんりな機械。
デプロイ前の筆者はこんな感じでした。
Gitアカウントを作る
【GitHub超初心者入門】この前初めてGitHubを使い始めたエンジニア見習いが書くGitHubの使い方と実践~とりあえず一緒に動かしてみようぜ!
超わかりやすいです。
ここでは詰まることはありませんでした。
Herokuアカウントを作る
Herokuアカウントを作って、試しにPHPをデプロイするところまでやります。
ここで流れがつかめるかと。
※今はHeroku Toolbeltではなく、The Heroku CLIをインストールします。
mavenをインストール
mavenインストールからmavenビルドまでの流れです。
ここらへんから苦難が始まりました。
エラー対応
Eclipse2019-9以降を使っている人。
m2eプラグインが検索しても出てきません。
最初から入っていますので無視してOKです。
maven installが「BUILD SUCCESS」しない人。
筆者の場合は実行環境がJava13なので、pom.xmlのjavaバージョンを13.0.1にしたらエラー出ました。
コンパイラーが対応していないっぽいです。
なのでpom.xmlは参考サイト同じように書きましょう。
1 |
<java.version>1.8</java.version> |
もし書き換えても駄目なら
- プロジェクトを右クリック
- ビルドパス→ビルドパスの構成
- JREシステムライブラリーをクリック→編集
- 実行環境を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ファイルを直接アップロードする。
上記サイトを参考にデプロイしてみてください。
私はダメでしたが、この方法で成功した方が多いようです。
JavaでHerokuにデプロイまとめ
ものすごい大変でした。
サーバーの知識、ネットワークの知識、ビルドツールの知識が全部欠けているために大ハマりしたと思っています。
プログラミングの文法を覚えるだけじゃダメなんだなあと思い知らされました。

