0

WLST スクリプトを使用して、Weblogic 10.3.4 でドメインを作成しています。次に、管理サーバーを起動し、war ファイルをデプロイします。スクリプト内のすべて。

この WLST では、 setDomainEnv.cmd ファイルも更新して、クラスパスの先頭に特定の jar を追加しています。この setDomainEnv.cmd は、startWebLogic.cmd でドメインを開始するときに呼び出されます。

しかし、スクリプトで startServer コマンドを使用してサーバーを起動すると、startWebLogic.cmd が呼び出されないため、更新された setDomainEnv.cmd が呼び出されません。その結果、他のすべては正常に機能しますが (ドメインの作成、戦争の展開など)、必要な jar がロードされないため、アプリケーションは失敗します。具体的には、クラスパスに javax.el-api-2.2.4.jar と com.sun.el_2.2.0.v201105051105.jar を追加したいと思います。

WLST から startWebLogic.cmd を呼び出す方法に関する提案。また、ant タスクまたは Maven から startWebLogic.cmd を呼び出すことができる場合も同様です。

編集

私の weblogic.xml は以下のようになります

      <container-descriptor>
<prefer-application-packages>
  <package-name>javax.el.*</package-name>
  <package-name>com.sun.el.*</package-name>
   <package-name>javax.persistence.*</package-name>
   <package-name>javax.persistence.criteria.*</package-name>
   <package-name>javax.persistence.metamodel.*</package-name>
   <package-name>javax.persistence.spi.*</package-name>  
   <package-name>org.eclipse.persistence.*</package-name>      
   <package-name>org.springframework.*</package-name>      
  </prefer-application-packages>          
 </container-descriptor> 
4

2 に答える 2

2

以下のアプローチのいずれかを選択できます

1-すべてのjarファイルを%DOMAIN_HOME%/ libフォルダーに配置すると、サーバーの起動時にクラスパスに追加されます。この方法では、setDomainEnv.cmdを変更する必要はありません。ここでの注意点は、%DOMAIN_HOME%/ libの下のreadme.txtを読むと、これらのjarがクラスパスの最後に追加されていることがわかります。したがって、これらのjarをすべてクラスパスの先頭に配置したい場合は、次のようになります。良い解決策ではありません。

2-startWebLogic.cmdを経由するサーバーを起動する1つの方法は、nodemanagerを使用することです-もちろん、このアプローチでは、nodemangerを構成し、ドメインに登録して、ドメインを起動する前に起動する必要があります-nmConnectを使用してnmStartを発行します-httpを参照してください詳細については、 //docs.oracle.com/cd/E24329_01/web.1211/e21050/starting_nodemgr.htm#NODEM209を参照してください。

今後:startWebLogic.cmdを使用してサーバーを常に起動する場合は、setDomainEnvにクラスパスを設定すると正常に機能する可能性がありますが、AdminConsoleからサーバーを起動できるユースケースがある場合は、クラスパスを設定する必要があります。 at:AdminConsole-> Environments-.Servers-> YourManagedServer-> Configuration(TAB)-> ServerStart(SubTab)-> Classpath(テキストエリア)にログインします。

于 2012-09-13T07:46:53.150 に答える
0

I wont question why you need these jars deployed, but the way to do this in Weblogic is to deploy them as a Shared Library. You can probably do this with WLST or the Deployer in a script. Modifying the cmd files seems like a hack to me.

于 2012-09-12T03:15:29.877 に答える