- PR -

AntでTomcatにwarをデプロイ

投稿者投稿内容
ローパ
会議室デビュー日: 2008/12/18
投稿数: 8
投稿日時: 2008-12-18 18:05
AntでTomcatにwarをデプロイしたいと思いますが、エラーが発生してしまいます。
pathの指定のようなエラーメッセージが出ているのですが対策が分かりません。

Catalina\\localhostにtest#ACT.xmlという名前でコンテキストファイルを保存
されています。

環境は以下となります。
Tomcat 5.5
apache-ant-1.7.1
jdk1.5.0_15

build.xml
<!-- 配備 -->
<target name="deploy">
<deploy url="http://localhost:8080/manager"
username="${username}"
password="${password}"
path="/test/ACT"
war="C:\\project\\test.war"/>
</target>

実行結果
deploy:
[deploy] FAIL - アプリケーションは、既にパス /test/ACT に存在します

BUILD FAILED
FAIL - アプリケーションは、既にパス /test/ACT に存在します

Total time: 12 seconds

実行すると上記のようになり、デプロイが出来ません。指定するpathと
コンテキスファイルの名称を合わせる必要があるのでしょうか?
コンテキストファイルの名称を変更せずデプロイが出来るように
出来る方法があれば教えてください。

もしくは、別な方法でも構いません。出来ればTomcatManagerを使用しないで
デプロイを行えるようにする方法でも構いません。

以上、よろしくお願いいたします。
あすか
ぬし
会議室デビュー日: 2006/07/12
投稿数: 309
投稿日時: 2008-12-18 18:49
一度配備解除してから配備してください。
ローパ
会議室デビュー日: 2008/12/18
投稿数: 8
投稿日時: 2008-12-18 19:12
あすかさん、返答ありがとうございます。

配備解除してからやってみましたが、以下のエラーになりました。

deploy:
[deploy] FAIL - 例外 java.io.FileNotFoundException: C:\Program Files\Apache S
oftware Foundation\Tomcat 5.5\webapps\test\ACT.war (指定されたパスが見つかりませ
ん。) が発生しました

BUILD FAILED
FAIL - 例外 java.io.FileNotFoundException: C:\Program Files\Apache Software Foun
dation\Tomcat 5.5\webapps\test\ACT.war (指定されたパスが見つかりません。) が発生
しました

pathに/test/ACTをしている為か、勝手にACT.warになってしまいエラーになっているのでしょうか?
名前はtext.warのままwebappsの下に配置したいのですが。

どうにかならないものでしょうか?
あすか
ぬし
会議室デビュー日: 2006/07/12
投稿数: 309
投稿日時: 2008-12-18 19:20
プロジェクト都合とかでtest.warと言う名前に統一してしまっているのであれば
配備の前に
test.warをACT.warと言う名前でどこかにコピーして
その後ACT.warでdeployし、最後にACT.warを削除する
という流れにすればいいと思います。
ローパ
会議室デビュー日: 2008/12/18
投稿数: 8
投稿日時: 2008-12-18 19:37
あすかさん、返答ありがとうございます。

申し訳ないです。意味が分かりませんでした。

test.warをコピーしてACT.warを作ってデプロイはわかりますが、
そうするとwebapps配下にtest.warが配置されないと思いますが。
webappsに配置したACT.warをtest.warにリネームするのでしょうか?
あすか
ぬし
会議室デビュー日: 2006/07/12
投稿数: 309
投稿日時: 2008-12-18 19:40
良く判らないのですが
http://〜/test
http://〜/test/ACT
の二つのアプリケーションを作ろうとしていますか?

ローパ
会議室デビュー日: 2008/12/18
投稿数: 8
投稿日時: 2008-12-18 20:14
アプリケーションは1つです。

URLは「http://〜/test/ACT」なのですが、warの名前はtest.warにして、
コンテキストパスを/test/ACTにしたいのです。

warとコンテキストパスの名称が異なるという事です。
あすか
ぬし
会議室デビュー日: 2006/07/12
投稿数: 309
投稿日時: 2008-12-18 20:21
deployは
webapps\test
に行って
「http://〜/test/ACT」の参照先を
webapps\testにしてはいかがでしょうか

それが正しいと思います。

スキルアップ/キャリアアップ(JOB@IT)