blob: a4bebe6d9c6e6065f21bf7246b82340cc2509bf3 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- 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/downloads/downloads_bsf.cgi">Binaries</a>
</li>
<li> <a href="http://jakarta.apache.org/site/downloads/downloads_bsf.cgi">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/jira/browse/BSF">Bug Database</a>
</li>
<li> <a href="http://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&type=4&pid=12310621&resolution=-1&sorter/field=issuekey&sorter/order=ASC">Enhancement Requests</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-2010, Apache Software Foundation
</em></font></div>
</td></tr>
</table>
</body>
</html>
<!-- end the processing -->