Top/Eclipse/エラー:Could not publish server configuration

Eclipse/エラー:Could not publish server configuration

複数バージョンの開発アプリのサーバー上の競合

Eclipse JUNO上での開発時に遭遇しました。
一つのワークスペース上で複数バージョンのアプリを管理したいことがあります。
あるバージョンをダウンロードして、Server上で実行(Run As > Run on Server)すると、普通に動作しますが、別のバージョンのアプリをダウンロードして、そちらをServer上で実行すると、競合が発生し、その後、どちらもうまく動かなくなります。
エラーとしては以下のようなメッセージダイアログが出ます。

'Publishing to Tomcat v6.0 Server at localhost...' has encounterd a probrem.
Could not publish server configuration for Tomcat v6.0 Server at localhost.

ダイアログの[Detail]ボタンを押すと、さらに以下のような情報が得られます。

Could not publish server configuration for Tomcat v6.0 Server at localhost.
Multiple Contexts have a path of "/myapp"

これは、Eclipse上のTomcat Serverの、server.xmlに、同じ実行パスが複数書かれていることが原因です。
自分の環境でもserver.xmlの最後のほうに以下のような記載がありました。

<Context docBase="myapp" path="/myapp" reloadable="true" source="org.eclipse.jst.j2ee.server:myapp"/>
<Context docBase="myapp_20130422" path="/myapp" reloadable="true" source="org.eclipse.jst.j2ee.server:myapp_20130422"/>

「myapp」は自分の開発していたアプリ名です。本線が「myapp」で、ブランチが「myapp_20130422」なのですが、どちらも同じパス(/myapp)でかぶっていますね。
これを以下のように修正します。

<Context docBase="myapp" path="/myapp" reloadable="true" source="org.eclipse.jst.j2ee.server:myapp"/>
<Context docBase="myapp_20130422" path="/myapp2" reloadable="true" source="org.eclipse.jst.j2ee.server:myapp_20130422"/>

2行目のパスを「/myapp2」に変更しました。これで競合解消しますが、テスト時のURLが「myapp2」になってしまうので注意してください。

このページを共有:
  • このページをはてなブックマークに追加 このページを含むはてなブックマーク
  • このページをlivedoor クリップに追加 このページを含むlivedoor クリップ
  • このページをYahoo!ブックマークに追加
  • このページを@niftyクリップに追加
  • このページをdel.icio.usに追加
  • このページをGoogleブックマークに追加

このページのURL:

ページ新規作成

新しいページはこちらから投稿できます。

TOP