読者です 読者をやめる 読者になる 読者になる

技術ネタはQiitaに移りました。壁もどこぞに。

IntelliJ IDEA アプリケーションコンテキストの設定

おもに Java で書いてると離れられなくなる IntelliJ
軽快で補完も優秀なので大変便利に使えるのだが、
ときどき他の IDE と設定の方法が違ったりして手が止まることがある。
今回はそんなもののひとつである、アプリケーションコンテキストについて。

Tomcat なんかでデバッグ起動する場合、Eclipse などでは
プロジェクト名がアプリケーションコンテキストとして使用されるが、
IntelliJ ではこれが異なる。

デフォのままで起動すると、"localhost:8080" に
アプリケーションがデプロイされる。
このとき、アプリケーションコンテキストは "/" になっているよう。

ただ、実際にはやはり、war の名前がコンテキストになる場合が
多いと思われるので、localhost:8080/appctx のように
デプロイされて欲しいところ。

以下手順。
まずは画面上部の起動構成のプルダウンから、
[Edit Configurations…]を選択。

f:id:Yoichi-KIKUCHI:20141230151413p:plain

サイドメニューから、変更する起動構成(今回は "Tomcat 7.0")を選択する。
[Server]タブでは[Startup page:]が、
"http://localhost:8080/" になっていることが確認できる。

f:id:Yoichi-KIKUCHI:20141230151618p:plain

次に[Deployment]タブに移動する。
[Application context:]が、"/" になっていることが確認できる。

f:id:Yoichi-KIKUCHI:20141230152048p:plain

ここを編集することで、任意のアプリケーションコンテキストを
設定することができる。今回は、"appctx" としてみる。
デフォが "/" だったからといって、末尾に "/" をつけてはいけない。

f:id:Yoichi-KIKUCHI:20141230152151p:plain

アプリケーションコンテキストを設定できたので、
これで起動すれば、アプリケーションは
"localhost:8080/appctx" にデプロイされる。

しかし、このままだとサーバー起動時にいっしょに開くブラウザの初期 URL は、
"http://localhost:8080/" のままなので、起動直後は 404 が表示されてしまう。
そこで、仕上げに[Server]タブに戻り、[Startup page:]を編集する。

[Startup page:]に、先ほど設定したアプリケーションコンテキストを
反映して、"http://localhost:8080/appctx" を入力したら今度こそ完了。

f:id:Yoichi-KIKUCHI:20141230152730p:plain