![]() ![]() ![]() ![]() |
このチュートリアルでは、wldeploy
Ant タスクおよび weblogic.Deployer
ユーティリティを使用して WebLogic 分割開発ディレクトリのアプリケーションをデプロイする方法を説明します。これらの方法で、アプリケーションをパッケージ化することなく、アプリケーションを開発環境に迅速にデプロイできます。これらの方法を使用しない場合は、ビルド環境を変更する必要があります。
このチュートリアルを開始する前に、チュートリアル 5 ~ 8 を実行して、プロジェクト ディレクトリを作成し、Physician アプリケーションのビルドの中間手順を実行してください。チュートリアル 5 を完了しているが、それ以降のチュートリアルを 1 つまたは複数行っていない場合は、c:\medrec_tutorial\src\physicianEar
サブディレクトリに移動し、環境を設定し、Ant を使用してデフォルトの build.xml
ファイルを実行すれば追いつくことができます。
prompt> c:\bea\user_projects\domains\MedRecDomain\bin\setDomainEnv.cmd
prompt> cd c:\medrec_tutorial\src\physicianEar
prompt> ant -f build.xml
これまで、WebLogic Server でのエンタープライズ アプリケーションのビルドを簡単にする上で分割開発ディレクトリ構造が果たす役割について見てきました。この手順では、このディレクトリ構造でエンタープライズ アプリケーションをデプロイするとどのように簡単なのかを理解します。
エンタープライズ アプリケーションをデプロイすることは、それをビルドするのと同じくらい手間がかかるように見えることがあります。それは、通常はコンパイル済み Java クラスと変更可能なデプロイメント記述子を組み合わせて使用し、展開された EAR ディレクトリまたは圧縮された EAR ファイルを作成してからデプロイする必要があるためです。このプロセスでは通常、ファイルを別の場所にコピーし、ディレクトリ構造を変更してから、デプロイします。さらに、アプリケーションを再びビルドしたりデプロイメント記述子を変更するたびに、このプロセスを繰り返します。
分割開発ディレクトリでは、コンパイル済みファイルは build
ディレクトリ、変更可能なソース ファイルおよび記述子は source
ディレクトリにそれぞれ格納され、厳密に分けられます。WebLogic Server には、分割開発ディレクトリからアプリケーションを直接デプロイする機能があり、アプリケーションをデプロイするビルド ディレクトリを指定するだけで、この機能を使用できます。この手順では、分割開発ディレクトリを使用して physicianEar
(現時点でデプロイ可能な状態までビルドされている) をデプロイします。
prompt> cd c:\bea\wlserver_10.0\common\eval\pointbase\tools
prompt> startPointBase.cmd
MedRecServer
が起動していない場合は、起動します。prompt> c:\bea\user_projects\domains\medrecdomain\bin\setDomainEnv.cmd
physicianEar
サブディレクトリ以外にいる場合は、このサブディレクトリに移動します。prompt> cd c:\medrec_tutorial\src\physicianEar
deploy.xml
という新しいファイルを作成します。prompt> notepad deploy.xml
注意 : | このチュートリアルで deploy.xml ファイルを手動で作成する代わりに、wldeploy_tutorial.xml という名前のファイルを deploy.xml という名前の新しいファイルにコピーして、手順を進めることもできます。 |
deploy.xml
ファイルで、まず tutorial
という名前のプロジェクトを定義します。<project name="tutorial" default="deploy">
<target name="deploy">
<wldeploy user="weblogic"
password="weblogic"
adminurl="t3://127.0.0.1:7101"
action="deploy"
name="tutorial_deployment"
source="c:\medrec_tutorial\build\physicianEar" />
</target>
deploy.xml
ファイルを完成します。</project>
<project name="tutorial" default="deploy">
<target name="deploy">
<wldeploy user="weblogic"
password="weblogic"
adminurl="t3://127.0.0.1:7101"
action="deploy"
name="tutorial_deployment"
source="c:\medrec_tutorial\build\physicianEar" />
</target>
</project>
prompt> ant -f deploy.xml
wldeploy
タスクにより、以下のような出力が表示されます。
Buildfile: deploy.xmlBuildfile: deploy.xml
deploy:
[wldeploy] weblogic.Deployer -noexit -name tutorial_deployment -source C:\medrec_tutorial\build\physicianEar -adminurl t3://127.0.0.1:7101 -user weblogic -password ******** -deploy
[wldeploy] weblogic.Deployer invoked with options: -noexit -name tutorial_deployment -source C:\medrec_tutorial\build\physicianEar -adminurl t3://127.0.0.1:7101 -user weblogic -deploy
[wldeploy] <Apr 5, 2007 1:50:16 PM PDT> <Info> <J2EE Deployment SPI> <BEA-260121> <Initiating deploy operation for application, tutorial_deployment [archive: C:\medrec_tutorial\build\physicianEar], to configured targets.>
[wldeploy] Task 0 initiated: [Deployer:149026]deploy application tutorial_deployment on MedRecServer.
[wldeploy] Task 0 completed: [Deployer:149026]deploy application tutorial_deployment on MedRecServer.
[wldeploy] Target state: deploy completed on Server MedRecServer
[wldeploy]
BUILD SUCCESSFUL
Total time: 7 seconds
上記の出力が表示されない場合、MedRecServer の起動が完了していないか、または deploy.xml
ファイルにタイプ ミスが含まれている可能性があります。この場合、サーバが起動を完了するまで待機するか、インストールされているチュートリアル ファイルを使用してデプロイを試行してください。
prompt> ant -f wldeploy_tutorial.xml
physicianEar
をデプロイしようとしたときに以下のエラーが表示された場合は、以前に Administration Console を使用したときにコンフィグレーションを解放していなかった可能性があります。
BUILD FAILED
C:\medrec_tutorial\src\physicianEar\deploy.xml:8: weblogic.management.ManagementException: [Deployer:149163]The domain edit lock is owned by another session in non-exclusive mode - this deployment operation requires exclusive access to the edit lock and hence cannot proceed.
この場合は、Administration Console のチェンジ センタで [変更のアクティブ化] または [コンフィグレーションの解放] をクリックしてから、deploy タスクを再度実行してください。
http://
host
:7101/physician
という URL を入力します。host
は MedRecServer
をホストするコンピュータです。ブラウザが MedRecServer
と同じコンピュータにある場合は、http://localhost:7101/physician
という URL を使用できます。
[医師ログイン] ページが表示されるはずです。この時点では、他の MedRec アプリケーション スイートがまだ使用できないため、そのページを参照することしかできません。
wldeploy
タスクには、weblogic.Deployer
コマンドライン ユーティリティで使用できるのと同じオプションを使用します。次のチュートリアルに進む前に、weblogic.Deployer
を使用して Physician アプリケーションをアンデプロイします。同じコマンドライン ウィンドウで、次のコマンドを入力します。prompt> java weblogic.Deployer -adminurl t3://127.0.0.1:7101 -user weblogic -password weblogic -undeploy -name tutorial_deployment
<Apr 5, 2007 1:55:46 PM PDT> <Info> <J2EE Deployment SPI> <BEA-260121> <Initiating undeploy operation for application, tutorial_deployment [archive: null], to configured targets.>
Task 5 initiated: [Deployer:149026]remove application tutorial_deployment on MedRecServer.
Task 5 completed: [Deployer:149026]remove application tutorial_deployment on MedRecServer.
Target state: undeploy completed on Server MedRecServer
weblogic.Deployer
ユーティリティを使用して physicianEar
アプリケーションを再デプロイします。prompt> java weblogic.Deployer -adminurl t3://127.0.0.1:7101 -user weblogic -password weblogic -deploy -name tutorial_deployment -source c:\medrec_tutorial\build\physicianEar
weblogic.Deployer
ツールまたは関連する Ant タスクの wldeploy
を使用して、ビルド ディレクトリの対象として開発モードで実行しているサーバを指定できます。 wlcompile
を実行してコンポーネントを再生成および再コンパイルした後などです。通常、これらの機能を簡単に実行するには、ビルド ファイルに対する deploy、redeploy、および undeploy ターゲットをプロジェクトのビルド スクリプトに追加する必要があります。
wldeploy
タスクを使用して再デプロイするときは、action="deploy" を action="redeploy" に置き換えて、source
定義を省略するだけです。wldeploy
は同じデプロイメント名を使用してアプリケーションを再デプロイします。同様に、アンデプロイするには、action="redeploy"
を action="undeploy"
で置き換えます。
wldeploy
が分割ディレクトリをどのように処理するかを理解してください。c:\medrec_tutorial\build\physicianEar
の内容は、展開された EAR ディレクトリとほぼ同じですが、デプロイメント記述子はありません。WebLogic Server は、アプリケーションのソース ディレクトリ c:\medrec_tutorial\src\physicianEar
を参照する c:\medrec_tutorial\build\physicianEar\.beabuild.txt
ファイルを調べて、使用する適切なデプロイメント記述子を見つけます。ソース ディレクトリに、アプリケーションのデプロイに必要なコンポーネントのデプロイメント記述子が含まれています。
![]() ![]() ![]() |