<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<!-- Content Stylesheet for Site -->

        
<!-- start the processing -->
    <html>
    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
    <head>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
  
                      <meta name="author" value="Stefan Bodewig">
  <meta name="email" value="bodewig@apache.org">
                <meta name="author" value="Chuck Murcko">
  <meta name="email" value="chuck@topsail.org">
                <meta name="author" value="Victor Orlikowski">
  <meta name="email" value="victor.j.orlikowski@alumni.duke.edu">
        
      <title>Jakarta BSF - Frequently Asked Questions</title>
    </head>
  
    <body bgcolor="#ffffff" text="#000000" link="#525D76">    
      <table border="0" width="100%" cellspacing="0">
        <!-- TOP IMAGE -->
        <tr>
                <td align="left">
    <a href="http://jakarta.apache.org"><img src="images/jakarta-logo.gif" border="0"/></a>
    </td>
    <td align="right">
              <a href="http://jakarta.apache.org/bsf/"><img src="./images/bsf_logo.jpg" alt="Jakarta BSF" border="0"/></a>
        </td>
          </tr>
      </table>
      <table border="0" width="100%" cellspacing="4">
        <tr><td colspan="2">
          <hr noshade="" size="1"/>
        </td></tr>
        
        <tr>
          <!-- LEFT SIDE NAVIGATION -->
          <td valign="top" nowrap="true">
                <p><strong>BSF Essentials</strong></p>
    <ul>
          <li>      <a href="./index.html">Front Page</a>
  </li>
          <li>      <a href="./bsfnews.html">News</a>
  </li>
          <li>      <a href="./manual.html">Documentation</a>
  </li>
          <li>      <a href="./projects.html">Related Projects</a>
  </li>
          <li>      <a href="./resources.html">Resources</a>
  </li>
          <li>      <a href="./faq.html">BSF FAQ</a>
  </li>
          <li>      <a href="./problems.html">Having Problems?</a>
  </li>
        </ul>
      <p><strong>Download</strong></p>
    <ul>
          <li>      <a href="http://jakarta.apache.org/site/binindex.html">Binaries</a>
  </li>
          <li>      <a href="http://jakarta.apache.org/site/sourceindex.html">Source Code</a>
  </li>
        </ul>
      <p><strong>Jakarta</strong></p>
    <ul>
          <li>      <a href="http://jakarta.apache.org/site/news.html">News & Status</a>
  </li>
          <li>      <a href="http://jakarta.apache.org/site/mission.html">Mission</a>
  </li>
          <li>      <a href="http://jakarta.apache.org/site/guidelines.html">Guidelines Notes</a>
  </li>
          <li>      <a href="http://jakarta.apache.org/site/faqs.html">FAQs</a>
  </li>
        </ul>
      <p><strong>Get Involved</strong></p>
    <ul>
          <li>      <a href="http://jakarta.apache.org/site/getinvolved.html">Overview</a>
  </li>
          <li>      <a href="http://jakarta.apache.org/site/cvsindex.html">Source Repositories</a>
  </li>
          <li>      <a href="http://www.faqs.org/rfcs/rfc1855.html">Netiquette</a>
  </li>
          <li>      <a href="http://jakarta.apache.org/site/mail.html">Mailing Lists</a>
  </li>
          <li>      <a href="http://jakarta.apache.org/site/library.html">Reference Library</a>
  </li>
          <li>      <a href="http://issues.apache.org/bugzilla/enter_bug.cgi?product=BSF">Bug Database</a>
  </li>
          <li>      <a href="http://issues.apache.org/bugzilla/enter_bug.cgi?product=BSF&bug_severity=Enhancement">Enhancement Requests</a>
  </li>
          <li>      <a href="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&product=BSF&short_desc=%5BPATCH%5D&short_desc_type=allwordssubstr&long_desc=&long_desc_type=allwordssubstr&bug_file_loc=&bug_file_loc_type=allwordssubstr&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&cmdtype=doit&order=Reuse+same+sort+as+last+time">Patch Queue</a>
  </li>
        </ul>
            </td>
          <td align="left" valign="top">
  <table border="0" cellspacing="0" cellpadding="2" width="100%">
    <tr><td bgcolor="#525D76">
      <font color="#ffffff" face="arial,helvetica,sanserif">
        <strong>Questions</strong>
      </font>
    </td></tr>
    <tr><td>
      <blockquote>
                      <table border="0" cellspacing="0" cellpadding="2" width="100%">
    <tr><td bgcolor="#828DA6">
      <font color="#ffffff" face="arial,helvetica,sanserif">
        <strong>About this FAQ</strong>
      </font>
    </td></tr>
    <tr><td>
      <blockquote>
        <ul>
                    <li><a href="#latest-version">
  Where do I find the latest version of this
        document?
  </a></li>
                    <li><a href="#adding-faqs">
  How can I contribute to this FAQ?
  </a></li>
                    <li><a href="#creating-faq">
  How do you create the HTML version of this
        FAQ?
  </a></li>
                </ul>
      </blockquote>
    </td></tr>
  </table>
                <table border="0" cellspacing="0" cellpadding="2" width="100%">
    <tr><td bgcolor="#828DA6">
      <font color="#ffffff" face="arial,helvetica,sanserif">
        <strong>General</strong>
      </font>
    </td></tr>
    <tr><td>
      <blockquote>
        <ul>
                    <li><a href="#what-is-bsf">
  What is Bean Scripting Framework?
  </a></li>
                    <li><a href="#bsf-name">
  Why do you call it BSF?
  </a></li>
                    <li><a href="#history">
  Tell us a little bit about BSF's history.
  </a></li>
                </ul>
      </blockquote>
    </td></tr>
  </table>
                <table border="0" cellspacing="0" cellpadding="2" width="100%">
    <tr><td bgcolor="#828DA6">
      <font color="#ffffff" face="arial,helvetica,sanserif">
        <strong>Installation</strong>
      </font>
    </td></tr>
    <tr><td>
      <blockquote>
        <ul>
                    <li><a href="#no-gnu-tar">
  I get checksum errors when I try to extract the
      <code>tar.gz</code> distribution file. Why?
  </a></li>
                </ul>
      </blockquote>
    </td></tr>
  </table>
                <table border="0" cellspacing="0" cellpadding="2" width="100%">
    <tr><td bgcolor="#828DA6">
      <font color="#ffffff" face="arial,helvetica,sanserif">
        <strong>How do I ...</strong>
      </font>
    </td></tr>
    <tr><td>
      <blockquote>
        <ul>
                    <li><a href="#doh">
  How do I install BSF?
  </a></li>
                </ul>
      </blockquote>
    </td></tr>
  </table>
                <table border="0" cellspacing="0" cellpadding="2" width="100%">
    <tr><td bgcolor="#828DA6">
      <font color="#ffffff" face="arial,helvetica,sanserif">
        <strong>It doesn't work (as expected)</strong>
      </font>
    </td></tr>
    <tr><td>
      <blockquote>
        <ul>
                    <li><a href="#winzip-lies">
  BSF creates JAR files with a lower-case
        <code>meta-inf</code> directory.
  </a></li>
                </ul>
      </blockquote>
    </td></tr>
  </table>
                <table border="0" cellspacing="0" cellpadding="2" width="100%">
    <tr><td bgcolor="#828DA6">
      <font color="#ffffff" face="arial,helvetica,sanserif">
        <strong>Advanced Issues</strong>
      </font>
    </td></tr>
    <tr><td>
      <blockquote>
        <ul>
                    <li><a href="#TBD2">
  
      To be added
      
  </a></li>
                </ul>
      </blockquote>
    </td></tr>
  </table>
                <table border="0" cellspacing="0" cellpadding="2" width="100%">
    <tr><td bgcolor="#828DA6">
      <font color="#ffffff" face="arial,helvetica,sanserif">
        <strong>Known Problems</strong>
      </font>
    </td></tr>
    <tr><td>
      <blockquote>
        <ul>
                    <li><a href="#javadoc-cannot-execute">
  JavaDoc failed: java.io.IOException: javadoc: cannot execute
  </a></li>
                </ul>
      </blockquote>
    </td></tr>
  </table>
            </blockquote>
    </td></tr>
  </table>

  <table border="0" cellspacing="0" cellpadding="2" width="100%">
    <tr><td bgcolor="#525D76">
      <font color="#ffffff" face="arial,helvetica,sanserif">
        <strong>Answers</strong>
      </font>
    </td></tr>
    <tr><td>
      <blockquote>
                      <a name="latest-version">
  <table border="0" cellspacing="0" cellpadding="2" width="100%">
    <tr><td bgcolor="#828DA6">
      <font color="#ffffff" face="arial,helvetica,sanserif">
        <strong>
          Where do I find the latest version of this
        document?
        </strong>
      </font>
    </td></tr>
    <tr><td>
      <blockquote>
                              <p>The latest version can always be found at BSF's homepage 
          <a href="http://jakarta.apache.org/bsf/faq.html">http://jakarta.apache.org/bsf/faq.html</a>.</p>
                        </blockquote>
    </td></tr>
  </table>
  </a>
        <a name="adding-faqs">
  <table border="0" cellspacing="0" cellpadding="2" width="100%">
    <tr><td bgcolor="#828DA6">
      <font color="#ffffff" face="arial,helvetica,sanserif">
        <strong>
          How can I contribute to this FAQ?
        </strong>
      </font>
    </td></tr>
    <tr><td>
      <blockquote>
                              <p>The page you are looking it is generated from 
          <a href="http://cvs.apache.org/viewcvs.cgi/~checkout~/jakarta-bsf/xdocs/faq.xml">this</a>
          document.  If you want to add a new question, please submit
          a patch against this document to one of BSF's mailing lists;
          hopefully, the structure is self-explanatory.</p>
                                        <p>If you don't know how to create a patch, see the patches
          section of <a href="http://jakarta.apache.org/site/source.html">this
          page</a>.</p>
                        </blockquote>
    </td></tr>
  </table>
  </a>
        <a name="creating-faq">
  <table border="0" cellspacing="0" cellpadding="2" width="100%">
    <tr><td bgcolor="#828DA6">
      <font color="#ffffff" face="arial,helvetica,sanserif">
        <strong>
          How do you create the HTML version of this
        FAQ?
        </strong>
      </font>
    </td></tr>
    <tr><td>
      <blockquote>
                              <p>We use 
        <a href="http://jakarta.apache.org/velocity/anakia.html">Anakia</a>
        to render the HTML version from the original XML file.</p>
                                        <p>The Velocity stylesheets used to process the XML files can
        be found in the <code>xdocs/stylesheets</code> subdirectory of
        BSF's CVS repository - the build file <code>docs.xml</code> is
        used to drive Anakia.  This file assumes that you have the
        <code>jakarta-site2</code> module checked out from CVS as
        well, but if you follow the instruction from Anakia's
        homepage, you should get it to work without that.  Just make
        sure all required jars are in the task's classpath.</p>
                        </blockquote>
    </td></tr>
  </table>
  </a>
                        <a name="what-is-bsf">
  <table border="0" cellspacing="0" cellpadding="2" width="100%">
    <tr><td bgcolor="#828DA6">
      <font color="#ffffff" face="arial,helvetica,sanserif">
        <strong>
          What is Bean Scripting Framework?
        </strong>
      </font>
    </td></tr>
    <tr><td>
      <blockquote>
                              <p>
        Bean Scripting Framework (BSF) is a set of Java classes which provides
        scripting language support within Java applications. It also provides
        access to Java objects and methods from supported scripting languages.
        BSF allows one to write JSPs in languages other than Java while
        providing access to the Java class library. In addition, BSF permits
        any Java application to be implemented in part (or dynamically
        extended) by a language that is embedded within it. This is achieved
        by providing an API that permits calling scripting language engines
        from within Java, as well as an object registry that exposes Java
        objects to these scripting language engines.
        </p>
                        </blockquote>
    </td></tr>
  </table>
  </a>
        <a name="bsf-name">
  <table border="0" cellspacing="0" cellpadding="2" width="100%">
    <tr><td bgcolor="#828DA6">
      <font color="#ffffff" face="arial,helvetica,sanserif">
        <strong>
          Why do you call it BSF?
        </strong>
      </font>
    </td></tr>
    <tr><td>
      <blockquote>
                              <p>
        It's the beanage. Beans were the cool thing when BSF was first being
        designed, and BSF contains several flavors.
        </p>
                        </blockquote>
    </td></tr>
  </table>
  </a>
        <a name="history">
  <table border="0" cellspacing="0" cellpadding="2" width="100%">
    <tr><td bgcolor="#828DA6">
      <font color="#ffffff" face="arial,helvetica,sanserif">
        <strong>
          Tell us a little bit about BSF's history.
        </strong>
      </font>
    </td></tr>
    <tr><td>
      <blockquote>
                              <p>
        BSF began life in 1999 as a research project of Sanjiva Weerawarana
        at IBM's T.J. Watson Research Center. The initial intent had been 
        to provide access to JavaBeans from scripting language environments
        (though there is nothing limiting access only to Java Beans). It was
        soon moved to IBM's AlphaWorks developer site, where significant
        interest (both internal and external to IBM) led to its being
        moved to IBM's developerWorks site, where BSF could operate as an
        open source project. During this time, significant development was
        done by Matt Duftler and Sam Ruby, and BSF was incorporated into
        both IBM products (Websphere) and Apache projects (Xalan). It was
        this interest on the part of the Apache Software Foundation that
        ultimately led to BSF's acceptance as a subproject of Jakarta in
        2002.
        </p>
                                        <p>
        During the process of moving BSF to Jakarta, development continued
        within IBM, with further improvements to BSF's integration with
        Jasper being made by John Shin and the addition of debugging support
        for the Javascript language (a team effort, resulting from the work
        of IBM researchers Olivier Gruber, Jason Crawford, and John Ponzo,
        and IBM software developers Chuck Murcko and Victor Orlikowski).
        </p>
                                        <p>
        It is the current version, 2.3, that has been donated to Apache
        Software Foundation from IBM.
        </p>
                        </blockquote>
    </td></tr>
  </table>
  </a>
                        <a name="no-gnu-tar">
  <table border="0" cellspacing="0" cellpadding="2" width="100%">
    <tr><td bgcolor="#828DA6">
      <font color="#ffffff" face="arial,helvetica,sanserif">
        <strong>
          I get checksum errors when I try to extract the
      <code>tar.gz</code> distribution file. Why?
        </strong>
      </font>
    </td></tr>
    <tr><td>
      <blockquote>
                              <p>BSF's distribution contains file names that are longer
        than 100 characters, which is not supported by the standard
        tar file format. Several different implementations of tar use
        different and incompatible ways to work around this
        restriction.</p>
                                        <p>BSF's &lt;tar&gt; task can create tar archives that use
        the GNU tar extension, and this has been used when putting
        together the distribution. If you are using a different
        version of tar (for example, the one shipping with Solaris),
        you cannot use it to extract the archive.</p>
                                        <p>The solution is to either install GNU tar, which can be
        found <a href="http://www.gnu.org/software/tar/tar.html">here</a>,
        or use the zip archive instead (you can extract it using
        <code>jar xf</code>).</p>
                        </blockquote>
    </td></tr>
  </table>
  </a>
                        <a name="doh">
  <table border="0" cellspacing="0" cellpadding="2" width="100%">
    <tr><td bgcolor="#828DA6">
      <font color="#ffffff" face="arial,helvetica,sanserif">
        <strong>
          How do I install BSF?
        </strong>
      </font>
    </td></tr>
    <tr><td>
      <blockquote>
                              <p>
        BSF can be used standalone, as a class library, or as part of an
        application server. In order to be used as a class library or as
        a standalone system, one simply downloads a copy of the bsf.jar
        file from the
        <a href="http://jakarta.apache.org/bsf/index.html">BSF web site</a>
        and includes it in their classpath, along with any required classes
        or jar files for the desired languages.    
        </p>
                                        <p>
        In order to use BSF as part of the
        <a href="http://jakarta.apache.org/tomcat/">Tomcat</a>
        servlet engine, one must currently download patches from the BSF
        web site that permit Jasper to call BSF. Instructions for this will be
        posted on the website, and will be accompanied by prebuilt binaries.
        We hope that these changes will be merged into Tomcat in the near
        future.
        </p>
                        </blockquote>
    </td></tr>
  </table>
  </a>
                        <a name="winzip-lies">
  <table border="0" cellspacing="0" cellpadding="2" width="100%">
    <tr><td bgcolor="#828DA6">
      <font color="#ffffff" face="arial,helvetica,sanserif">
        <strong>
          BSF creates JAR files with a lower-case
        <code>meta-inf</code> directory.
        </strong>
      </font>
    </td></tr>
    <tr><td>
      <blockquote>
                              <p>No it doesn't.</p>
                                        <p>You may have seen these lower-case directory names in  
        WinZIP, but WinZIP is trying to be helpful (and fails).  If
        WinZIP encounters a filename that is all upper-case, it 
        assumes it has come from an old DOS box andchanges the case to
        all lower-case for you.</p>
                                        <p>If you extract (or just check) the archive with jar, you
        will see that the names have the correct case.</p>
                        </blockquote>
    </td></tr>
  </table>
  </a>
                        <a name="TBD2">
  <table border="0" cellspacing="0" cellpadding="2" width="100%">
    <tr><td bgcolor="#828DA6">
      <font color="#ffffff" face="arial,helvetica,sanserif">
        <strong>
          
      To be added
      
        </strong>
      </font>
    </td></tr>
    <tr><td>
      <blockquote>
                              <p>
        To be added
        </p>
                        </blockquote>
    </td></tr>
  </table>
  </a>
                        <a name="javadoc-cannot-execute">
  <table border="0" cellspacing="0" cellpadding="2" width="100%">
    <tr><td bgcolor="#828DA6">
      <font color="#ffffff" face="arial,helvetica,sanserif">
        <strong>
          JavaDoc failed: java.io.IOException: javadoc: cannot execute
        </strong>
      </font>
    </td></tr>
    <tr><td>
      <blockquote>
                              <p>There is a bug in the Solaris reference implementation of
        the JDK (see <a href="http://developer.java.sun.com/developer/bugParade/bugs/4230399.html">http://developer.java.sun.com/developer/bugParade/bugs/4230399.html</a>).
        This also appears to be true under Linux. Moving the JDK to
        the front of the PATH fixes the problem.</p>
                        </blockquote>
    </td></tr>
  </table>
  </a>
              </blockquote>
    </td></tr>
  </table>
            </td>
        </tr>

        <!-- FOOTER -->
        <tr><td colspan="2">
          <hr noshade="" size="1"/>
        </td></tr>
        <tr><td colspan="2">
          <div align="center"><font color="#525D76" size="-1"><em>
          Copyright &#169; 2002, Apache Software Foundation
          </em></font></div>
        </td></tr>
      </table>
    </body>
  </html>
<!-- end the processing -->






