商用ミドルウェア (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 をインストールした同僚に尋ねるか、以下のように 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 サイトの他の関連記事を参照してください。