Q: How can I ... with BCEL?
A: Take a look at
org.apache.bcel.util.BCELifier, it takes a given class
and converts it to a BCEL program (in Java, of course). It will
show you how certain code is generated using BCEL.
Q: Is the BCEL thread-safe?
A: BCEL was (deliberately) not designed for thread
safety. See
"Concurrent Programming in Java", by Doug Lea,
for an excellent reference on how to build thread-safe wrappers.
Q: Can I use BCEL in a commercial product?
A: Yes, this is covered by the Apache License, if you add a note about the original
author and where to find the sources, i.e.,
http://commons.apache.org/bcel/
Q: (Typically for users of Xalan (XSLTC)) I'm getting
ClassGenException: Branch target offset too large for shortwhen compiling large files.
Q: Can I create or modify classes dynamically with BCEL?
A: BCEL contains useful classes in the
util package, namely ClassLoader and
JavaWrapper. Take a look at the ProxyCreator example.
Q: I get a verification error, what can I do?
A: Use the JustIce verifier that comes together with BCEL
to get more detailed information:
java org.apache.bcel.verifier.Verifier <your class>