ホームページ  >  記事  >  Java  >  WebLogic をデプロイする際の問題を解決するにはどうすればよいですか?

WebLogic をデプロイする際の問題を解決するにはどうすればよいですか?

零下一度
零下一度オリジナル
2017-07-17 13:33:122487ブラウズ

商用ミドルウェア (EJB、jndi データ ソース、ログ管理、メモリ管理、リソース構成管理など) としての weblogic は、一部のオープン ソースの無料の小さなコンテナーの範囲を超えています。

Weblogic は最初に weblogic Inc. によって開発され、その後 BEA に統合されました。最終的に、BEA は Oracle に統合されました。

Weblogic は、大規模な分散 Web アプリケーション、ネットワーク アプリケーション、データベース アプリケーションの開発、統合、展開、管理に使用される Java アプリケーション サーバーです。

したがって、プロジェクトのオンラインリリースとデプロイメントのためのサーバーとして一般的に weblogic が使用され、Tomcat/Jetty... 小さなコンテナは主にローカルの研究開発に使用されます。

これにより、ローカルで正常に動作する Web プログラムでも、WebLogic にデプロイすると何らかの問題が発生することは避けられません。

ほとんどの問題は、Weblogic が依存する jar とプロジェクト内の jar (同じ jar、異なるバージョン) の間の競合、または weblogic がプロジェクトの jar をサポートしていないことが原因で発生します。

Weblogic の導入時に問題が発生した場合 (自分で 3 つのことを要約してください):

1. 会社が使用している Weblogic バージョンを確認し、公式 Web サイトで対応する Weblogic バージョンでサポートされている標準を確認します。 2. Weblogic エラー ログを確認します。競合している jar を特定するか、webloigc でサポートされていない jar を特定します。

3. 競合している jar については、プロジェクトの WEB-INFO ディレクトリに weblogic.xml 構成ファイルを追加します。プロジェクト jar がプリロードされることを宣言します。

4. webloigc バージョンでサポートされていない jar の場合は、weblogic バージョンをアップグレードするか、プロジェクトで使用される jar のバージョンを減らします。

1. Weblogic のバージョンを確認し、対応するサポートされている標準を確認します

Weblogic には多数の小さなバージョンがあり、バージョン間の違いが大きいため、敵を知ることによってのみ無敵になれます。

Weblogic のバージョンを確認するには、多くの方法があります。最も直接的な方法は、Weblogic をインストールした同僚に尋ねるか、以下のように Linux にログインすることです。

デプロイされたバージョンを学習した後、Oracle Weblogic 公式 Web サイトにアクセスしてください。そこにあるドキュメントが最も包括的で信頼性があります。

対応するバージョン ポイント ビュー ライブラリを見つけて、そこにジャンプします。ここでは、Weblogic バージョンでサポートされている標準に焦点を当てます。

詳細な Java、Web サービス、および JDK、EL、サーブレット、JAX-RS、JAX-WS....

2 などの Weblogic によってサポートされるいくつかのその他の標準があります。デプロイメント エラー ログを比較して問題を特定し、解決します

上記の特定のサポート標準と、デプロイメント エラーの特定のクラスとメソッドを使用して、適切な解決策を処方できます。

以下は、Weblogic をデプロイする際のいくつかの一般的なエラー例外のリストです (補足ではさらに多くのエラーが発生します):

java.lang.UnsupportedClassVersionError: Unsupported Major.minor version 51.0 (weblogic Jdk version andプロジェクト JDK バージョン 一貫性なし)

request.getRealpath () が null (service-API.JAR および Weblogic。クラスを使用して thread.currentthRead () をロードします。GetContextClassLoader ()

Classnotfo undException : org.hibernate.hql.ast.HqlToken (weblogic はすでに antlr.jar の以前のバージョンに依存しています)

この種の問題を解決するには、通常 3 つの方法があります。デプロイメントの問題が発生した場合は、自分で実践することもできます。 。

a. Weblogic の下で競合する jar フォルダーを削除します。

(1) /bea/weblogic12.1.3/server/lib/weblogic.jar 内の競合するフォルダーを削除します。

(2) 競合する XXX をコピーします。 .jar を /bea/weblogic12.1.3/server/lib にコピーし、weblogic を再起動します。

b. 特定の jar を最初にロードするように起動スクリプトを変更します

(1) 競合する jar パッケージを ${DOMAIN_HOME}/lib ディレクトリにコピーします。

(2) ${DOMAIN_HOME}/bin で startWeblogic.sh ファイルを見つけ、テキスト エディタで開き、次の内容を追加します:

export first_classpath=${DOMAIN_HOME}/lib/xxxx.jar  
SAVE_CLASSPATH="${first_classpath}:${CLASSPATH}"

c に weblogic .xml を渡します。アプリケーションの構成、最初にアプリケーション jar をロードします

Weblogic バージョンが使用されていないため、Weblogic 構成項目が異なるため、インターネットから盲目的にコピーしないでください。

公式 Web サイトのバージョン説明 (他のバージョンの場合は 1213 を変更してください):

pretty-application-resources/prefer-application-packages (アプリケーションに対応する jar をプリロードする) に注意してください ノード構成:

<?xml version="1.0" encoding="UTF-8"?><weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app"><container-descriptor><prefer-web-inf-classes>false</prefer-web-inf-classes><prefer-application-packages><package-name>预先加载项目 lib 中的包名,支持通配符</package-name><package-name>com.sun.faces.*</package-name><package-name>com.bea.faces.*</package-name></prefer-application-packages></container-descriptor></weblogic-web-app>

ソリューション a/b/c のうち、本番環境としては、weblogic が複数のアプリケーションをデプロイする可能性があり、自由に再起動できる可能性は低いです。

解決策 a と b は Weblogic の整合性を破壊し、Weblogic にデプロイされた他のアプリケーションに問題を引き起こす可能性があります。

以上がWebLogic をデプロイする際の問題を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。