[opencms] [opencms-dev] 6.0.0 setup exception on JBoss
Thomas Maerz
thomasmaerz at gmx.de
Sat Jul 2 18:57:44 CEST 2005
Kiril Sramko <kiril.sramko at web.de> writes:
> I'm new to OpenCms and not a expert in Java, and now I'm asking myself, why
> are there the two files:
> 946 06-29-05 23:29 org/opencms/setup/CmsSetupBean$1.class
> 29680 06-29-05 23:29 org/opencms/setup/CmsSetupBean.class
> in the ./WEB-INF/lib/opencms.jar of 6.0.0
> but in ./WEB-INF/lib/opencms.jar of 6.0rc2 is just the file
> 27804 06-17-05 17:53 org/opencms/setup/CmsSetupBean.class
> And what does this '$' mean?
In your listing the first file.
,----[ http://doc.novsu.ac.ru/oreilly/java/exp/ch05_09.htm ]
| The second file is the class file for our inner class. Yes, as we
| feared, inner classes are really just compiler magic. The compiler has
| created the inner class for us as a normal, top level class and named it
| by combining the class names with a dollar sign. The dollar sign is a
| valid character in class names, but is intended for use only by
| automated tools in this way. (Please don't start naming your classes
| with dollar signs). Had our class been more deeply nested, the
| intervening inner class names would have been attached in the same way
| to generate a unique top level name.
`----
,----[ http://doc.novsu.ac.ru/oreilly/java/exp/ch05_09.htm ]
| Inner classes may also be declared withing the body of a
| method. Returning to the Animal class, we could put Brain inside the
| performBehavior() method if we decided that the class was only useful
| inside of that method.
|
| Class Animal {
| void performBehavior() {
| Class Brain {
| ...
| }
| }
| }
|
`----
http://doc.novsu.ac.ru/oreilly/java/javanut/ch05_05.htm#JNUT2-CH-5-EX-10
,----[ org.opencms.setup.CmsSetupBean ]
| public List sortModules(Map modules) {
|
| List aux = new ArrayList(modules.values());
| Collections.sort(aux, new Comparator() {
`----
And in 6.0rc2 this method was not available.
HTH,
Thomas
More information about the opencms-dev
mailing list