IntelliJ IDEAで生成したJavaEEのwarファイルをwildflyにデプロイする手順

こんにちは、小吉です。

今回はタイトルの通り、IntelliJでJavaEEアプリケーションのwarファイルを生成して、それをwildflyにデプロイしてアプリケーションが動くことを実施してみたいと思います。

過去の記事でIntelliJでJavaEEアプリケーション(HelloWorld)を作成する手順を紹介していますので、こちらの記事もぜひご覧ください。

今回wildflyにデプロイするwarファイルは、上記の過去記事で作成したHello WorldのJavaEEアプリケーションから作成します。

前提

  • Windows10
  • IntelliJ Ultimateをインストール済みであること(Free trial期間でも可)
  • IntelliJ上で実行可能なJavaEEアプリケーションを作成済みであること
  • C:\直下にwildflyをインストール済みであること(ちなみに私の環境では、16.0.0をインストールしてあります。)

過去記事、IntelliJでwildflyを使ったHello Wolrdを素早く簡単に実施する手順を実施していれば、上記前提はクリアしていることになります。

Warファイルの生成

まずはIntelliJでwarファイルを生成します。

IntelliJで実行可能なJavaEEアプリケーションのプロジェクトを開き、File -> Project Structureを開きます。

左メニューのArtifactsを選択します。

画面上部にある「+」ボタンを選択して、Web Application: Archive -> For ‘web:war exploded’を選択します。

すると以下のように、web:warというArtifactsが追加されますので、OKボタンを押して閉じます。

今度はBuild -> Build Artifactsを選択します。

以下のような小さなウィンドウが表示されるので、web:war -> Buildを選択します。するとwarファイルの生成が始まります。

warファイルの生成に成功すると、画面左のプロジェクトメニューの、{プロジェクト名} -> out -> artifacts -> web_warの下にweb_war.warというwarファイルが表示されるので、生成できた事がわかります。

wildflyの起動

上記で生成したwarファイルをデプロイするwildflyを起動します。
コマンドプロンプトを開き、以下コマンドを実行します。

> cd C:¥wildfly-16.0.0.Final¥bin
> standalone.bat

wildflyの起動が始まり、ログが出力されていきます。
「WildFly Full 16.0.0.Final (WildFly Core 8.0.0.Final) started in 13507ms」
というログが表示されていれば起動に成功しています。

管理者アカウントの作成

webコンソールからデプロイの確認するために、wildflyの管理コンソールに入れるアカウントを作成しておきましょう。

上記でwildflyを起動したコマンドプロンプトとは別で、もう一つコマンドプロンプトを開き、以下コマンドを実行します。

> cd C:¥wildfly-16.0.0.Final¥bin
> add-user.bat

以下のように対話式で答えていくと、アカウントが作成できます。

JAVA_HOME is not set. Unexpected results may occur.
Set JAVA_HOME to the directory of your local JDK to avoid this message.
What type of user do you wish to add?
a) Management User (mgmt-users.properties)
b) Application User (application-users.properties)
(a): a
Enter the details of the new user to add.
Using realm 'ManagementRealm' as discovered from the existing property files.
Username : wildadmin
Password recommendations are listed below. To modify these restrictions edit the add-user.properties configuration file.
The password should be different from the username
The password should not be one of the following restricted values {root, admin, administrator}
The password should contain at least 8 characters, 1 alphabetic character(s), 1 digit(s), 1 non-alphanumeric symbol(s)
Password :
WFLYDM0098: The password should be different from the username
Are you sure you want to use the password entered yes/no? yes
Re-enter Password :
What groups do you want this user to belong to? (Please enter a comma separated list, or leave blank for none)[ ]:
About to add user 'wildadmin' for realm 'ManagementRealm'
Is this correct yes/no? yes
Added user 'wildadmin' to file 'C:\wildfly-16.0.0.Final\standalone\configuration\mgmt-users.properties'
Added user 'wildadmin' to file 'C:\wildfly-16.0.0.Final\domain\configuration\mgmt-users.properties'
Added user 'wildadmin' with groups to file 'C:\wildfly-16.0.0.Final\standalone\configuration\mgmt-groups.properties'
Added user 'wildadmin' with groups to file 'C:\wildfly-16.0.0.Final\domain\configuration\mgmt-groups.properties'
Is this new user going to be used for one AS process to connect to another AS process?
e.g. for a slave host controller connecting to the master or for a Remoting connection for server to server EJB calls.
yes/no? no
続行するには何かキーを押してください . . .

warファイルのデプロイ

warファイルをデプロイする方法はいくつかありますが、今回は一番簡単な方法を採用します。

warファイルを以下フォルダにコピーします。

C:¥wildfly-16.0.0.Final¥standalone¥deployments

しばらくすると、以下のように、配置したwarファイルとは別にweb_war.war.deployedというファイルが生成されます。これがデプロイが済んだ目印になります。

管理コンソールで確認

webブラウザで「http://127.0.0.1:8181」を開くと、以下のwildflyのページが開きます。
※ポート番号8181は過去記事で変更している値です。デフォルトは8080となります。

Administration Consoleというリンクをクリックします。
認証を求められるので、先程作成した管理者アカウントを入力してログインします。

ログインに成功すると管理コンソールが表示されます。

画面上部のDeploymentsを選択してみましょう。
以下のように、先程デプロイしたweb_war.warの情報が表示されます。

Main Attributesの中のContext Rootにある/web_warのリンクを開くと、以下のようにアプリケーションのルートにあったindex.jspの内容を表示することができ、アプリケーションが動作していることが確認できました。

参考書籍

この記事の最後に

少し手順が多かったですが、作業自体は簡単なことばかりだったと思います。
ローカルでJavaEE開発をしている方にとって参考になれば幸いです。
最後までお読み頂きありがとうございました。