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」になってしまうので注意してください。


ページ新規作成

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

TOP