量産メモ帳

忘れっぽいのでメモを残しています。浅く適当に書きます。

Maven の Weblogic プラグインを使用して、デプロイを試みる。

スポンサーリンク

現在、Maven の 2.0.x 版を使用している。
で、いつの間にか 2.0.x 用の WebLogic プラグインが出てた。

プラグインMaven 1.x 用と 2.0.x 用でサイトが分かれていて、更に 2.0.x 用のプラグインWebLogic の 8.x 用と 9.x 用でバージョンが異なっているようだ。
おそらくこんな感じ。

Maven WebLogic プラグイン
  ├ Maven 1.x 用プラグイン*1
  └ Maven 2.0.x 用プラグイン
      ├ 2.8.0-SNAPSHOTWebLogic 8.x 用
      └ 2.9.0-SNAPSHOTWebLogic 9.x 用

今、WebLogic 9.x 版を使用しているので、プラグイン2.9.0-SNAPSHOT を使用。


Maven は最初の設定がやや面倒臭く(Ant に比べればマシだが)、このプラグインも少し設定を追加・修正しなければならない。

  • まずは以下のページの例に従って pom.xmlプラグインの記述を追加。

Mojo – MojoHaus Maven Plugins Project
configuration タグ内の要素の意味は、ゴール一覧にある各ゴールのページを見れば何となく分かる。

Mojo – MojoHaus Maven Plugins Project

上記の設定を踏まえて、試しに weblogic:redeploy ゴールを実行してみた。*2

mvn weblogic:redploy

・・・しかし、失敗してしまった。
以下のようなエラーが出た。

no protocol: and

pom.xml の adminServerProtocol タグには t3 を指定したのだが、どうもこの t3 プロトコルがどこかで認識されていないのだろうか?

・・・って思ったけど、以下のページを見ると、ローカル・リポジトリのパスにスペースが含まれていると、ゴールが失敗するっぽい(この例では"Documents and Settings"のこと)。
http://jira.codehaus.org/browse/MOJO-759

つまりスペースを区切り文字とみなしてパス(URL)を解析してて、結果、例外が発生してしまうんだろう。
だから"no protocol: and"とか言う意味不明なメッセージが出力されるわけだ。
そういやこのメッセージは Java のプログラムで、時々見かけるね。
ともかく Mavenプラグインを作るんだったら、Windows の場合、デフォルトのローカル・リポジトリは"%HOMEDRIVE%\Documents and Settings\%USERNAME%.%USERDOMAIN%*3\.m2\repository"になるんだから、それを前提にしてほしかったなー(><)


・・・ともかく原因が何となく分かったので、まず settings.xml の settings タグの直下に以下のタグを追加してみた。(ドメインに参加してない場合、${USERNAME}.${USERDOMAIN} ではなくて ${USERNAME} のみになると思う。)

<localRepository>${HOMEDRIVE}/Docume~1/${USERNAME}.${USERDOMAIN}/.m2/repository</localRepository>

で、ゴールを再実行。

すると、、、またもやエラーだけど、出力が変わってきた。

no protocol: Files/Java/jdk1.5.0_07/lib/tools.jar

これは私のPCの環境変数 JAVA_HOME が "C:\Program Files\Java\jdk1.5.0_07" となっているから。
なので、JAVA_HOME を以下のように変更して、再実行。。。

C:\Progra~1\Java\jdk1.5.0_07


やっと上手く行きましたよ。。。

*1:1.x 用のプラグインは使ったことないけど、多分、このページだと思う。

*2:元々、デプロイ済みだったので。

*3:ドメインに参加してない場合、%USERNAME%のみだと思う。