minha intenção é registrar também algumas experiências profissionais. A primeira dela que gostaria de registrar, estou em um trabalho de migração da aplicação que trabalho do Weblogic 9.2 para o Weblogic 11g. A arquitetura da aplicação é composta por JDBC, EJB 2.0 e JSF 1.1 com RichFaces e tomahawk. Existe uma lib proprietária que foi encapsulado alguns componentes jsf. Esta lib apresentava erro de compilação toda vez que era referenciada.
O erro " No tag library could be found with this URI. Possible causes could be that the URI is incorrect, or that there were errors during parsing of the .tld file." acontecia porque a URI definida no tld desta taglib tinha o endereço da seguinte forma:
"http://endereco.com.teste/" e o Weblogic não conseguia resolver este nome. Então encontrei a solução neste link e tudo ficou claro. A URI não deveria terminar em "/" e o resultado deveria ser "http://endereco.com.teste".
Após esta mudança o erro de compilação foi resolvida.
Segue stack completa, espero ter ajudado:
javax.faces.FacesException: weblogic.servlet.jsp.CompilationException: Failed to compile JSP /errorDisplay.jsp errorDisplay.jsp:7:5: No tag library could be found with this URI. Possible causes could be that the URI is incorrect, or that there were errors during parsing of the .tld file. <%@ taglib uri="http://sistema.empresa.com/" prefix="p"%> ^----^ errorDisplay.jsp:7:5: No tag library could be found with this URI. Possible causes could be that the URI is incorrect, or that there were errors during parsing of the .tld file. <%@ taglib uri="http://sistema.empresa.com/" prefix="p"%> ^----^ at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:425) at org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:211) at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108) at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:216) at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41) Truncated. see log file for complete stacktrace
Não sei se faz diferença para vocês, mas no Weblogic 9.2 o container não reclamava se você definisse um novo prefixo na declaração da taglib, o 11g exige que você utilize o mesmo prefixo definido no tld.