Weblogic en tant que middleware commercial (EJB, source de données jndi, gestion des logs, gestion de la mémoire, gestion de la configuration des ressources...) est hors de portée de certains petits conteneurs gratuits open source.
Weblogic a d'abord été développé par weblogic Inc. et a ensuite fusionné avec BEA. Enfin, BEA a été fusionné avec Oracle.
weblogic est un serveur d'applications Java utilisé pour développer, intégrer, déployer et gérer des applications Web distribuées à grande échelle, des applications réseau et des applications de base de données.
Par conséquent, weblogic est généralement utilisé comme serveur pour la publication et le déploiement en ligne de projets, et Tomcat/Jetty.... les petits conteneurs sont principalement utilisés pour la recherche et le développement locaux.
Cela posera inévitablement des problèmes. Un programme Web qui fonctionne bien localement aura des problèmes d'un type ou d'un autre lorsqu'il sera déployé dans weblogic.
La plupart des problèmes sont causés par le jar dont weblogic dépend des conflits avec le jar du projet (le même jar, des versions différentes) ou weblogic ne prend pas en charge le jar du projet.
Lorsqu'il y a un problème de déploiement de weblogic (résumez trois choses par vous-même) :
1. Confirmez la version de weblogic utilisée par l'entreprise et lisez le site officiel pour connaître les normes weblogic correspondantes prises en charge par la version
2. Vérifiez le journal des erreurs weblogic pour déterminer le fichier jar en conflit ou déterminez le fichier jar qui n'est pas pris en charge par le webloigc ; ;
3. Pour les jars en conflit, ajoutez le fichier de configuration weblogic.xml dans le répertoire WEB-INFO du projet, qui déclare le jar du projet à précharger ; 🎜> 4. Pour les jars qui ne sont pas pris en charge par cette version jar de webloigc, mettez à niveau la version de weblogic ou réduisez la version de jar utilisée par le projet.
1. Déterminez la version de weblogic et vérifiez les normes prises en charge correspondantes
Il existe de nombreuses façons de vérifier la version de Weblogic. La manière la plus directe est de demander à un collègue qui a installé Weblogic ou de vous connecter à Linux comme ci-dessous.
Après avoir appris la version déployée, rendez-vous sur le site officiel d'Oracle Weblogic. La documentation y est la plus complète et faisant autorité. . de.
Recherchez la version correspondante et cliquez sur Afficher la bibliothèque pour y accéder . Ceci est un aperçu de la version complète. Nous devrions nous concentrer sur les normes prises en charge par cette version de weblogic.
Il existe des Java détaillés, des services Web et diverses normes prises en charge par WebLogic, telles que JDK, EL, Servlet , JAX-RS, JAX-WS....
2. Vérifiez le journal des erreurs de déploiement pour déterminer le problème et le résoudre
Voici quelques exceptions d'erreur courantes lors du déploiement de weblogic (il y en a beaucoup d'autres à ajouter) :
java. lang.UnsupportedClassVersionError : version major.minor 51.0 non prise en charge (la version weblogic Jdk est incohérente avec la version jdk du projet)
request.getRealPath() est null (servlet -api. Il existe des différences entre jar local et weblogic. Utilisez le chargement de classe Thread.currentThread().getContextClassLoader() pour obtenir le chemin relatif)
ClassNotFoundException : org.hibernate.hql.ast .HqlToken (weblogic s'appuie déjà sur une version antérieure de antlr.jar)
Il existe généralement trois façons de résoudre de tels problèmes. pratiquez-les vous-même lorsque vous rencontrez des problèmes de déploiement.
a. Supprimez le dossier jar en conflit sous weblogic :
(1) Supprimez le dossier jar en conflit dans /bea/weblogic12.1.3/server/lib/weblogic.jar Dossier ;
(2) Copiez le fichier XXX.jar en conflit dans /bea/weblogic12.1.3/server/lib et redémarrez weblogic.
b. Modifiez le script de démarrage pour charger certains jars en premier
(1) Copiez le package jar en conflit dans ${DOMAIN_HOME} /lib annuaire.
(2) Recherchez le fichier startWeblogic.sh sous ${DOMAIN_HOME}/bin, ouvrez-le avec un éditeur de texte et ajoutez-y le contenu suivant :
export first_classpath=${DOMAIN_HOME}/lib/xxxx.jar SAVE_CLASSPATH="${first_classpath}:${CLASSPATH}"
c. Dans l'application, via la configuration de weblogic, il y aura des différences dans les éléments, donc ne copiez pas aveuglément depuis Internet.
Description officielle de la version du site Web (pour les autres versions, changez simplement 1213) :
Faites attention à préfère-application-ressources/prefer-application -packages (précharger le jar correspondant à l'application) Configuration des nœuds :
<?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>
Les solutions a et b détruiront l'intégrité de weblogic et pourraient causer des problèmes dans d'autres applications déployées sur weblogic.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!