Hoy me he entretenido en integrar jQuery 1.4.2 en Liferay 5.2, ya que quería algunos efectos de jQuery Tools en uno de mis plugins. El problema surge cuando me entero que la nueva versión de jQuery no es compatible con la que trae instalada Liferay.
Solución:
El fichero de Liferay que se encarga de cargar todas las librerías de javaScript es /html/common/theme/top_head.jsp. Podemos sobreescribir este fichero utilizando un Hook o con el entorno de extensión. Para resolver este conflicto he usado un hook. A continuación os expongo la solución.
<script type='text/javascript' src='js/jquery_1.4.2.js'></script> <script type='text/javascript' src='js/jquery.tools.min.js'></script> <script type='text/javascript'> var $jQuery14 = jQuery.noConflict(); </script> <script type='text/javascript' src='js/jquery_1.2.6.js'></script>
En definitiva lo que conseguimos es alterar el orden de carga de los ficheros javascript, de manera que cargo la versión mas reciente de jQuery y renombro la variable usada por defecto por jQuery (jQuery.noConflict()). A continuación cargo la versión de jQuery para Liferay.
De esta manera se consigue que no se genere conflicto entre distintas versiones de jQuery.