メニュー

Mavenで作成したWebプロジェクトをheroku上でデプロイする

2020 5/06
Mavenで作成したWebプロジェクトをheroku上でデプロイする

読者のみなさま、こんにちは。
イッシーです。
今回はJavaでおなじみ、Mavenで作成したWebプロジェクトをheroku上でデプロイしてみた記事になります。(データベースは設定しません)

↓↓↓herokuのアカウント設定まわりの参考記事
https://qiita.com/arashida/items/b2f2e01259238235e187

目次

前提知識

  1. warファイルを使用してのデプロイを試みるので、tomcatサーバーを使用してのデプロイ経験があるとスムーズにいけるかと思います。
  2. Mavenコマンドを自環境で使用できること(warファイル作成時に使用します。)
  3. Eclipseが入っていること
  4. herokuのアカウント設定が終わっていること
  5. herokuコマンドを自環境で使用できること(デプロイ時に使用します。)

EclipseでMavenを使用してのWebプロジェクトを作成する

アーティファクトID「maven-archetype-web」で検索して選択する。

よしなに名前をつけて完了を押せば、プロジェクト作成完了。
プロジェクト作成後は、jspにエラーが発生しますが、javax.servlet-apiをダウンロードすれば解決する(pom.xml経由)

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
    <scope>provided</scope>
</dependency>

heroku上で動かすためのプラグインwebapp-runner.jarを追加する

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
            <execution>
                <phase>package</phase>
                <goals><goal>copy</goal></goals>
                <configuration>
                    <artifactItems>
                        <artifactItem>
                            <groupId>com.github.jsimone</groupId>
                            <artifactId>webapp-runner</artifactId>
                            <version>9.0.13.0</version>
                            <destFileName>webapp-runner.jar</destFileName>
                        </artifactItem>
                    </artifactItems>
                </configuration>
            </execution>
        </executions>
    </plugin>

ためしにtomcat上で動かしてみる

Eclipseのサーバー設定からtomcatをお好きなバージョンで新規作成し、先ほど作成したWebプロジェクトを追加する。

localhostで開けたら、プロジェクト作成はうまくいっているので本題のherokuデプロイに移れます。

Mavenコマンドを使用してwarファイルを作成する

Windowsの場合はコマンドプロンプトを開いて、先ほど作成したWebプロジェクトの直下に移動し、mvn compile war:warコマンドを叩き、warファイルを作成します。

heroku上でデプロイする

  1. コマンドプロンプトを開いてheroku loginでログインします。
  2. heroku createでheroku上にアプリケーションを作成します。
  3. heroku deployを使用したいのですが、初期設定は使用できないので、使用できるようにheroku plugins:install heroku-cli-deploy でプラグインをインストールします。
  4. heroku deploy:war --war 作成したwarファイル名 --app herokuアプリケーション名 でheroku上でデプロイします。

デプロイが完了したらデプロイ先のアプリケーションURLにアクセスし、表示できれば無事完了!!!
お疲れ様でした!

予備知識(アプリケーション削除)

以下コマンドを叩くと、アプリケーションを削除することができます。
heroku apps:destroy --app アプリ名

この記事を書いた人

目次
閉じる