Saturday, February 12, 2011

WebSphere App Server Not Compiling JSP/Tag Libs

Hello

This is a problem that only occurs on application update (only tested through Admin Console, not CLI). Also, this is only happening on our development environment, which is identical to our prod env. On uninstall/install, everything is compiled properly. However, this is a large application and it takes long enough to do an update--we do not want to uninstall/install everytime (esp. during dev. builds).

JSP .java and .smap files are being generated, but not .class. On prod, there is no .smap--only .java and .class. If the JSPs would compile, we believe the tag libs would be compiled also.

Has anyone faced this problem, or know what we are possibly overlooking?

WAS Version: 6.1.0.17

Thanks a lot!

EDIT: This is only happening for one JSP and the tag library its using. We're trying to trouble shoot the issue. Let you know if we figure anything out. We think it may be an issue with the .SMAP file per this fix

SOLUTION

  • One suggestion:

    Have you checked that your environment has a JAVA_HOME pointing to a JDK and not just a JRE. The JRE doesn't have javac, so there won't be any way to compile .java files created at runtime by the JSP compiler into .classes?

    EDIT: Also, perhaps this link may help?

    Chris Serra : Any Java classes are compiling, the problem only seems to exist with JSP source files, as well as the tag libraries being used by them. Again, this only happens during an 'Update', not during a clean install of the app. Thanks for your input, though.
    toolkit : I guess your java classes are compiling during your build, which is a different environment to that used by the Websphere appserver runtime?
    Chris Serra : But, I checked anyways, and in the path is /usr/java14/bin, containing javac, and its before /usr/java14/jre/bin so I think we can eliminate that possibility.
    Chris Serra : Yes, it is built on one environment, and deployed to the server residing on another.
    Chris Serra : Thanks for the link, I will check that out also.
    From toolkit
  • I haven't worked with taglibs, but I can tell you this:

    the application server checks timestamps. be very very sure that the "modified" timestamps of the JSP files are reasonable from the point of view of the application server (say, are not in the future)

    Hope this helps you solve the problem...

    From Amir Arad
  • Solution:

    Problem was: WAS had debugging enabled. This generated .smap files (source mappings) instead of .class files. Once we discovered this, we disabled the debugging service under the Admin Console (Application Servers > server1 > Debugging Processes > uncheck 'Start service'). I don't know why this created a bug upon an update only, but, whatever the case, the problem is solved.

0 comments:

Post a Comment