http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2436
*** shadow/2436 Tue Jul 3 05:40:05 2001 --- shadow/2436.tmp.6609 Tue Jul 3 05:40:05 2001 *************** *** 0 **** --- 1,40 ---- + +============================================================================+ + | rmic errors on inner classes | + +----------------------------------------------------------------------------+ + | Bug #: 2436 Product: Ant | + | Status: NEW Version: 1.3 | + | Resolution: Platform: PC | + | Severity: Normal OS/Version: Windows NT/2K | + | Priority: Other Component: Core tasks | + +----------------------------------------------------------------------------+ + | Assigned To: [EMAIL PROTECTED] | + | Reported By: [EMAIL PROTECTED] | + | CC list: Cc: | + +----------------------------------------------------------------------------+ + | URL: | + +============================================================================+ + | DESCRIPTION | + When using the rmic task on an inner class, the task generates errors + the first time it is run. If run a second time when the generated files from + the first attempt are present, it succeeds. Using rmic from a batch file is + successful every time. + This happens with jdk 1.2.2 on Windows NT 4.0 SP6. Other platforms not tested. + + The errors do not halt the build; it will continue on to the next task if there + is one, or will report BUILD SUCCESSFUL if it is the last task. + + The errors come from an improperly generated *_Skel.java file, in which the name + of the inner class is of the form "OuterClass. InnerClass" (note the space) + instead of "OuterClass$InnerClass". This error doesn't happen on the second or + subsequent runs when generated files from the first attempt are present. + I would attribute this to a bug in rmic, except that it works fine from a batch + file. (Of course, it could still be a bug in rmic that only shows up when + invoked as ant does it.) + + A workaround is to specify stubversion="1.2" which avoids generation of the Skel + class in the first place. + + The rmic task runs every time because it looks for the file + OuterClass\InnerClass_Stub.class instead of OuterClass$InnerClass_Stub.class, + even when the classname attribute is "OuterClass\$InnerClass" instead of + "OuterClass.InnerClass".
