• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Ron McLeod
  • Paul Clapham
  • Devaka Cooray
  • Tim Cooke
Sheriffs:
  • Rob Spoor
  • Liutauras Vilda
  • paul wheaton
Saloon Keepers:
  • Tim Holloway
  • Tim Moores
  • Mikalai Zaikin
  • Carey Brown
  • Piet Souris
Bartenders:
  • Stephan van Hulst

migration from 8.0.9 to 8.0.18 issue with jsf core taglib no longer loading when server is started

 
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I just migrated a java web application (unchanged) from Tomcat version 8.0.9 to 8.0.18 and it does not appear that the jsf core taglib is being loaded by Tomcat, which is obviously causing application issues. The new unexpected behavior is that data that is entered into XHTML forms is not being captured and passed to the bean field defined in the form.

The exact same application WAR file was merely copied from 8.0.9 webapps folder to the 8.0.18 installation webapps folder . Tomcat immediately installed the app and it was accessible. The only problem encountered during testing was that all input fields that are entered are now being processed as null values and triggering error messages.

The catalina log file shows the following entries as the server is started. All entries are identical between the 8.0.9 log and the 8.0.18 log except the for jsf-core.taglib.xml which is supposed to load class com.sun.facelets.tag.jsf.core.CoreLibrary, and which does exist in the jsf-facelets-1.1.15.B1.jar in the web apps LIB folder. On the first log entry here, the null.null is the only difference I found between the 2 logs. I am not sure what it means, but I am guessing that it did not load the taglib class. I cannot find any similar logged issues in this forum or anywhere else on the internet.


27-Feb-2015 01:00:31.317 INFO [http-nio-8080-exec-1] null.null Added Library from: jar:file:/D:/apache-tomcat-8.0.20/webapps/OidRegistry-1.0/WEB-INF/lib/jsf-facelets-1.1.15.B1.jar!/META-INF/jsf-core.taglib.xml
27-Feb-2015 01:00:31.317 INFO [http-nio-8080-exec-1] com.sun.facelets.compiler.TagLibraryConfig.loadImplicit Added Library from: jar:file:/D:/apache-tomcat-8.0.20/webapps/OidRegistry-1.0/WEB-INF/lib/jsf-facelets-1.1.15.B1.jar!/META-INF/jsf-html.taglib.xml
27-Feb-2015 01:00:31.348 INFO [http-nio-8080-exec-1] com.sun.facelets.compiler.TagLibraryConfig.loadImplicit Added Library from: jar:file:/D:/apache-tomcat-8.0.20/webapps/OidRegistry-1.0/WEB-INF/lib/jsf-facelets-1.1.15.B1.jar!/META-INF/jsf-ui.taglib.xml
27-Feb-2015 01:00:31.379 INFO [http-nio-8080-exec-1] com.sun.facelets.compiler.TagLibraryConfig.loadImplicit Added Library from: jar:file:/D:/apache-tomcat-8.0.20/webapps/OidRegistry-1.0/WEB-INF/lib/jsf-facelets-1.1.15.B1.jar!/META-INF/jstl-core.taglib.xml
27-Feb-2015 01:00:31.395 INFO [http-nio-8080-exec-1] com.sun.facelets.compiler.TagLibraryConfig.loadImplicit Added Library from: jar:file:/D:/apache-tomcat-8.0.20/webapps/OidRegistry-1.0/WEB-INF/lib/jsf-facelets-1.1.15.B1.jar!/META-INF/jstl-fn.taglib.xml
27-Feb-2015 01:00:31.395 INFO [http-nio-8080-exec-1] com.sun.facelets.compiler.TagLibraryConfig.loadImplicit Added Library from: jar:file:/D:/apache-tomcat-8.0.20/webapps/OidRegistry-1.0/WEB-INF/lib/jsf-impl-1.2_12.jar!/META-INF/mojarra_ext.taglib.xml
27-Feb-2015 01:00:31.426 INFO [http-nio-8080-exec-1] com.sun.facelets.compiler.TagLibraryConfig.loadImplicit Added Library from: jar:file:/D:/apache-tomcat-8.0.20/webapps/OidRegistry-1.0/WEB-INF/lib/richfaces-ui-3.3.3.Final.jar!/META-INF/a4j.taglib.xml
27-Feb-2015 01:00:31.535 INFO [http-nio-8080-exec-1] com.sun.facelets.compiler.TagLibraryConfig.loadImplicit Added Library from: jar:file:/D:/apache-tomcat-8.0.20/webapps/OidRegistry-1.0/WEB-INF/lib/richfaces-ui-3.3.3.Final.jar!/META-INF/rich.taglib.xml
27-Feb-2015 01:00:31.535 INFO [http-nio-8080-exec-1] com.sun.facelets.compiler.TagLibraryConfig.loadImplicit Added Library from: jar:file:/D:/apache-tomcat-8.0.20/webapps/OidRegistry-1.0/WEB-INF/lib/richfaces-ui-3.3.3.Final.jar!/META-INF/jsp.taglib.xml
27-Feb-2015 01:00:31.551 INFO [http-nio-8080-exec-1] com.sun.facelets.compiler.TagLibraryConfig.loadImplicit Added Library from: jar:file:/D:/apache-tomcat-8.0.20/webapps/OidRegistry-1.0/WEB-INF/lib/richfaces-ui-3.3.3.Final.jar!/META-INF/richfaces.taglib.xml
 
Saloon Keeper
Posts: 28218
198
Android Eclipse IDE Tomcat Server Redhat Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I know of no reason why a minor version change in Tomcat should cause JSF issues. Especially since Tomcat has no interaction with JSF itself.

I can tell you that the jsf-core.taglib.xml file is NOT a class, nor is it located in the classpath. It's in the JAR's META-INF directory and it's simply a data file defining the allowable tag syntax. If it doesn't get properly read and digested, then all tags defined therein would fail to validate when the page initially rendered and you'd get an error message saying that first first such tag wasn't defined in the XML validation namespace.

At the moment, therefore, the best advice I could give you is to do a clean install of Tomcat 8.0.18 (or a later release) and consider using a different JVM version.

But first, look in the localhost logfile. Sometimes really low-level problems get reported there.
 
Jeff Nilsen
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Tom,

Although I would agree that there should be not be any difference. there certainly seems to be. I have spent way to many hours looking at this issue and these are my findings. . It seems to me that something for JSF may not be loading properly, but I can find nothing in any of the logs to support that conclusion.


Please let me reiterate.


1) We have a Java application running on Tomcat 8.0.9 using JSF (jsf-api-1.2_12.jar, jsf-impl-1.2_12.jar, jsf-facelets-1.1.15.B1.jar) and RichFaces 3.3.3 (richfaces-api-3.3.3.Final.jar, richfaces-impl-3.3.3.Final.jar, richfaces-ui-3.3.3.Final.jar) for the UI.

2) In an effort to upgrade Apache Tomcat to its current release (8.0.20), we seem to have encountered a problem. One of the JSF pages no longer captures input data to its associated bean field. This is a required field and now, during validation, it reports that the bean field in empty and throws an error.

3) In order to identify where the problem may have originated between 8.0.9 and 8.0.20, we downloaded every incremental Tomcat release between 8.0.9 and 8.0.20, installed the app and found that the application first started misbehaving in version 8.0.17.

4) We evaluated and compared all configuration files (between 8.0.9 vs 8.0.17) which include catalina.policy, catalina.properties, context.xml, logging.properties, server.xml, tomcat-users.xml and web.xml using the tool at the bottom of the Apache Migrating from 7.0 to 8.0 web page (http://tomcat.apache.org/migration-8.html#Web_application_resources). The only difference was an additional line added to the server.xml file in 8.0.17 for a listener for a Version Logger. There were no additions, changes or deletions to any other files.

5) To compare the behavior of each incremental release, we downloaded the windows x64 zip file for the release, updated the CATALINA_HOME environment variable, copied and replaced the \conf\context.xml and \conf\server.xml file from 8.0.9 to the new incremental release \conf folder and then copied the application WAR file to the \webapps folder. Nothing else was modified. When Tomcat was started, the web app was automatically installed.

My only conclusion would be that something in the 8.0.17 release is causing the JSF for this application to behave differently.

Any ideas?


 
Tim Holloway
Saloon Keeper
Posts: 28218
198
Android Eclipse IDE Tomcat Server Redhat Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
One thing I WOULD recommend is migrating to JSF2. You won't get its full benefits while pairing with Richfaces 3, but at least you won't be working with a core system that went obsolete around 4 years or more ago. It's fairly easy migrating JSF 1 to JSF2. Migrating Richfaces 3 to RichFaces 4 is the expensive part. Although IE versions later than 8 won't work properly with RF3 unless you tell the client to fall back to IE8 compatability mode.

Beyond that. I ran into issues with EL moving from Tomcat 6 to Tomcat7. Possibly something additionally got changed in Tomcat 8. You may have been depending on a bug that has since been fixed.
 
I would challenge you to a battle of wits, but I see you are unarmed - shakespear. Unarmed tiny ad:
New web page for Paul's Rocket Mass Heaters movies
https://coderanch.com/t/785239/web-page-Paul-Rocket-Mass
reply
    Bookmark Topic Watch Topic
  • New Topic