Summary: | Weaving into a JAR file causes an ClassFormat exception | ||
---|---|---|---|
Product: | [Tools] AspectJ | Reporter: | Wojtek Baj <wbaj> |
Component: | Compiler | Assignee: | Adrian Colyer <adrian.colyer> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | P3 | CC: | frederic.bages, wbaj |
Version: | 1.2 | ||
Target Milestone: | 1.5.0 M4 | ||
Hardware: | PC | ||
OS: | Windows 2000 | ||
Whiteboard: |
Description
Wojtek Baj
2004-09-08 19:03:32 EDT
I have added some missing classes to my batch file and the problem went away: @echo off set libext=../Libraries2/external/java set libint=../Libraries2/internal/java set CP=-classpath %CLASSPATH%;%libext%/xalan.jar;%libext%/junit.jar;%libint%/StatusCodes.jar set opts=-verbose SEt INJARS=-injars ../Libraries2/internal/java/WrapperClassJar.jar set outjars=-outjar TracedWrapper.jar set ajs=WrapperClasses/openharbor/tracker/CollectionBase.aj WrapperClasses/openharbor/tracker/SetterBase.aj set ajs=%ajs% WrapperClasses/openharbor/boa/BoaBaseCollectionTracker.aj set ajs=%ajs% WrapperClasses/openharbor/boa/BoaBaseSetterTracker.aj call ajc %CP% %opts% %INJARS% %AJS% %OUTJARS% This bug (ClassFormatException when dependendencies are missing from the classpath) is still present in the latest snapshot. needs investigation for M4... I was able to reproduce this independently in a related scenario. The error was due to us reading in string signatures for methods from the bytecode, trying to resolve the types (and failing), but then trying to write out bytecode with the <missing> type signatures before the true error had been reported. This problem has now been fixed, and the compiler is also much more tolerant of missing types in these situations (see bug 77076). Fix commited in tree and will be available in next published build from AspectJ download page. |