Issue Details (XML | Word | Printable)

Key: SPR-4773
Type: Bug Bug
Status: Resolved Resolved
Resolution: Cannot Reproduce
Priority: Major Major
Assignee: Unassigned
Reporter: Matt Raible
Votes: 0
Watchers: 2
Operations

If you were logged in you would be able to see more operations.
Spring Framework

Spring Aspects 2.5.4 doesn't work with AspectJ 1.5.4 or 1.6.0

Created: 02/May/08 08:19 PM   Updated: 06/Jul/08 04:16 PM
Component/s: None
Affects Version/s: None
Fix Version/s: None

Time Tracking:
Not Specified


 Description  « Hide
[INFO] [aspectj:compile {execution: default}]
[ERROR] ABORT
May 2, 2008 7:18:13 PM org.aspectj.weaver.tools.Jdk14Trace info
INFO: Dumping to /Users/mraible/Work/appfuse-2.0/service/./ajcore.20080502.191813.928.txt

Contents of file:

---- AspectJ Properties —
AspectJ Compiler 1.5.4 built on Thursday Dec 20, 2007 at 13:44:10 GMT
---- Dump Properties —
Dump file: ajcore.20080502.191813.928.txt
Dump reason: org.aspectj.weaver.BCException
Dump on exception: true
Dump at exit condition: abort
---- Exception Information —
---- System Properties —
java.runtime.name=Java(TM) 2 Runtime Environment, Standard Edition
sun.boot.library.path=/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Libraries
java.vm.version=1.5.0_13-119
awt.nativeDoubleBuffering=true
gopherProxySet=false
java.vm.vendor=Apple Inc.
java.vendor.url=http://www.apple.com/
path.separator=:
java.vm.name=Java HotSpot(TM) Client VM
file.encoding.pkg=sun.io
sun.java.launcher=SUN_STANDARD
user.country=US
sun.os.patch.level=unknown
java.vm.specification.name=Java Virtual Machine Specification
user.dir=/Users/mraible/Work/appfuse-2.0/service
java.runtime.version=1.5.0_13-b05-237
java.awt.graphicsenv=apple.awt.CGraphicsEnvironment
java.endorsed.dirs=/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/endorsed
os.arch=i386
java.io.tmpdir=/tmp
line.separator=

java.vm.specification.vendor=Sun Microsystems Inc.
os.name=Mac OS X
classworlds.conf=/opt/tools/maven2/bin/m2.conf
sun.jnu.encoding=MacRoman
java.library.path=/Applications/JProfiler4/bin/macos:.:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java
java.specification.name=Java Platform API Specification
java.class.version=49.0
sun.management.compiler=HotSpot Client Compiler
os.version=10.5.2
http.nonProxyHosts=local|.local|169.254/16|.169.254/16
user.home=/Users/mraible
user.timezone=America/Denver
java.awt.printerjob=apple.awt.CPrinterJob
file.encoding=MacRoman
java.specification.version=1.5
java.class.path=/opt/tools/maven2/boot/classworlds-1.1.jar
user.name=mraible
java.vm.specification.version=1.0
java.home=/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home
sun.arch.data.model=32
user.language=en
java.specification.vendor=Sun Microsystems Inc.
awt.toolkit=apple.awt.CToolkit
java.vm.info=mixed mode
java.version=1.5.0_13
java.ext.dirs=/Library/Java/Extensions:/System/Library/Java/Extensions:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/ext
sun.boot.class.path=/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/classes.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/ui.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/laf.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/sunrsasign.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jsse.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jce.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/charsets.jar
java.vendor=Apple Inc.
maven.home=/opt/tools/maven2
file.separator=/
spring.version=2.5.4
java.vendor.url.bug=http://bugreport.apple.com/
sun.io.unicode.encoding=UnicodeLittle
sun.cpu.endian=little
mrj.version=1040.1.5.0_13-237
socksNonProxyHosts=local|.local|169.254/16|.169.254/16
ftp.nonProxyHosts=local|.local|169.254/16|.169.254/16
sun.cpu.isalist=
---- Command Line —
-1.5
-showWeaveInfo
-source
1.5
-verbose
-classpath
/Users/mraible/.m2/repository/antlr/antlr/2.7.6/antlr-2.7.6.jar:/Users/mraible/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar:/Users/mraible/.m2/repository/asm/asm/1.5.3/asm-1.5.3.jar:/Users/mraible/.m2/repository/asm/asm-attrs/1.5.3/asm-attrs-1.5.3.jar:/Users/mraible/.m2/repository/backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar:/Users/mraible/.m2/repository/cglib/cglib/2.1_3/cglib-2.1_3.jar:/Users/mraible/.m2/repository/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar:/Users/mraible/.m2/repository/commons-codec/commons-codec/1.3/commons-codec-1.3.jar:/Users/mraible/.m2/repository/commons-collections/commons-collections/3.2/commons-collections-3.2.jar:/Users/mraible/.m2/repository/commons-httpclient/commons-httpclient/3.0/commons-httpclient-3.0.jar:/Users/mraible/.m2/repository/commons-lang/commons-lang/2.3/commons-lang-2.3.jar:/Users/mraible/.m2/repository/commons-logging/commons-logging/1.0.3/commons-logging-1.0.3.jar:/Users/mraible/.m2/repository/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar:/Users/mraible/.m2/repository/javax/activation/activation/1.1/activation-1.1.jar:/Users/mraible/.m2/repository/javax/mail/mail/1.4/mail-1.4.jar:/Users/mraible/.m2/repository/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar:/Users/mraible/.m2/repository/javax/transaction/jta/1.0.1B/jta-1.0.1B.jar:/Users/mraible/.m2/repository/jdom/jdom/1.0/jdom-1.0.jar:/Users/mraible/.m2/repository/jmock/jmock/1.1.0/jmock-1.1.0.jar:/Users/mraible/.m2/repository/junit/junit/4.4/junit-4.4.jar:/Users/mraible/.m2/repository/log4j/log4j/1.2.13/log4j-1.2.13.jar:/Users/mraible/.m2/repository/mysql/mysql-connector-java/5.1.6/mysql-connector-java-5.1.6.jar:/Users/mraible/.m2/repository/net/java/dev/stax-utils/stax-utils/20040917/stax-utils-20040917.jar:/Users/mraible/.m2/repository/net/sf/ehcache/ehcache/1.4.1/ehcache-1.4.1.jar:/Users/mraible/.m2/repository/net/sf/jsr107cache/jsr107cache/1.0/jsr107cache-1.0.jar:/Users/mraible/.m2/repository/org/apache/xbean/xbean-spring/2.8/xbean-spring-2.8.jar:/Users/mraible/.m2/repository/org/appfuse/appfuse-data-common/2.0.2-SNAPSHOT/appfuse-data-common-2.0.2-SNAPSHOT.jar:/Users/mraible/.m2/repository/org/appfuse/appfuse-hibernate/2.0.2-SNAPSHOT/appfuse-hibernate-2.0.2-SNAPSHOT.jar:/Users/mraible/.m2/repository/org/aspectj/aspectjrt/1.5.4/aspectjrt-1.5.4.jar:/Users/mraible/.m2/repository/org/aspectj/aspectjweaver/1.5.4/aspectjweaver-1.5.4.jar:/Users/mraible/.m2/repository/org/codehaus/woodstox/wstx-asl/3.2.0/wstx-asl-3.2.0.jar:/Users/mraible/.m2/repository/org/codehaus/xfire/xfire-aegis/1.2.6/xfire-aegis-1.2.6.jar:/Users/mraible/.m2/repository/org/codehaus/xfire/xfire-annotations/1.2.6/xfire-annotations-1.2.6.jar:/Users/mraible/.m2/repository/org/codehaus/xfire/xfire-core/1.2.6/xfire-core-1.2.6.jar:/Users/mraible/.m2/repository/org/codehaus/xfire/xfire-java5/1.2.6/xfire-java5-1.2.6.jar:/Users/mraible/.m2/repository/org/codehaus/xfire/xfire-spring/1.2.6/xfire-spring-1.2.6.jar:/Users/mraible/.m2/repository/org/codehaus/xfire/xfire-xmlbeans/1.2.6/xfire-xmlbeans-1.2.6.jar:/Users/mraible/.m2/repository/org/hibernate/hibernate/3.2.6.ga/hibernate-3.2.6.ga.jar:/Users/mraible/.m2/repository/org/hibernate/hibernate-annotations/3.3.0.ga/hibernate-annotations-3.3.0.ga.jar:/Users/mraible/.m2/repository/org/hibernate/hibernate-commons-annotations/3.3.0.ga/hibernate-commons-annotations-3.3.0.ga.jar:/Users/mraible/.m2/repository/org/springframework/spring-aop/2.5.4/spring-aop-2.5.4.jar:/Users/mraible/.m2/repository/org/springframework/spring-aspects/2.5.4/spring-aspects-2.5.4.jar:/Users/mraible/.m2/repository/org/springframework/spring-beans/2.5.4/spring-beans-2.5.4.jar:/Users/mraible/.m2/repository/org/springframework/spring-context/2.5.4/spring-context-2.5.4.jar:/Users/mraible/.m2/repository/org/springframework/spring-context-support/2.5.4/spring-context-support-2.5.4.jar:/Users/mraible/.m2/repository/org/springframework/spring-core/2.5.4/spring-core-2.5.4.jar:/Users/mraible/.m2/repository/org/springframework/spring-jdbc/2.5.3/spring-jdbc-2.5.3.jar:/Users/mraible/.m2/repository/org/springframework/spring-orm/2.5.3/spring-orm-2.5.3.jar:/Users/mraible/.m2/repository/org/springframework/spring-test/2.5.4/spring-test-2.5.4.jar:/Users/mraible/.m2/repository/org/springframework/spring-tx/2.5.3/spring-tx-2.5.3.jar:/Users/mraible/.m2/repository/org/springframework/security/spring-security-core/2.0.1/spring-security-core-2.0.1.jar:/Users/mraible/.m2/repository/org/springframework/security/spring-security-core-tiger/2.0.1/spring-security-core-tiger-2.0.1.jar:/Users/mraible/.m2/repository/stax/stax-api/1.0.1/stax-api-1.0.1.jar:/Users/mraible/.m2/repository/velocity/velocity/1.4/velocity-1.4.jar:/Users/mraible/.m2/repository/wsdl4j/wsdl4j/1.6.1/wsdl4j-1.6.1.jar:/Users/mraible/.m2/repository/xfire/xfire-jsr181-api/1.0-M1/xfire-jsr181-api-1.0-M1.jar:/Users/mraible/.m2/repository/xmlbeans/xbean/2.2.0/xbean-2.2.0.jar:/Users/mraible/Work/appfuse-2.0/service/target/classes
-aspectpath
/Users/mraible/.m2/repository/org/springframework/spring-aspects/2.5.4/spring-aspects-2.5.4.jar
-d
/Users/mraible/Work/appfuse-2.0/service/target/classes
/Users/mraible/Work/appfuse-2.0/service/src/main/java/org/appfuse/service/UniversalManager.java
/Users/mraible/Work/appfuse-2.0/service/src/main/java/org/appfuse/service/UserSecurityAdvice.java
/Users/mraible/Work/appfuse-2.0/service/src/main/java/org/appfuse/service/impl/BaseManagerMockTestCase.java
/Users/mraible/Work/appfuse-2.0/service/src/main/java/org/appfuse/service/impl/RoleManagerImpl.java
/Users/mraible/Work/appfuse-2.0/service/src/main/java/org/appfuse/util/TimestampConverter.java
/Users/mraible/Work/appfuse-2.0/service/src/main/java/org/appfuse/service/BaseManagerTestCase.java
/Users/mraible/Work/appfuse-2.0/service/src/main/java/org/appfuse/service/impl/UserManagerImpl.java
/Users/mraible/Work/appfuse-2.0/service/src/main/java/org/appfuse/util/CurrencyConverter.java
/Users/mraible/Work/appfuse-2.0/service/src/main/java/org/appfuse/service/impl/UniversalManagerImpl.java
/Users/mraible/Work/appfuse-2.0/service/src/main/java/org/appfuse/service/MailEngine.java
/Users/mraible/Work/appfuse-2.0/service/src/main/java/org/appfuse/service/RoleManager.java
/Users/mraible/Work/appfuse-2.0/service/src/main/java/org/appfuse/service/impl/GenericManagerImpl.java
/Users/mraible/Work/appfuse-2.0/service/src/main/java/org/appfuse/util/ConvertUtil.java
/Users/mraible/Work/appfuse-2.0/service/src/main/java/org/appfuse/service/UserExistsException.java
/Users/mraible/Work/appfuse-2.0/service/src/main/java/org/appfuse/service/impl/LookupManagerImpl.java
/Users/mraible/Work/appfuse-2.0/service/src/main/java/org/appfuse/util/DateConverter.java
/Users/mraible/Work/appfuse-2.0/service/src/main/java/org/appfuse/service/UserManager.java
/Users/mraible/Work/appfuse-2.0/service/src/main/java/org/appfuse/service/UserService.java
/Users/mraible/Work/appfuse-2.0/service/src/main/java/org/appfuse/util/DateUtil.java
/Users/mraible/Work/appfuse-2.0/service/src/main/java/org/appfuse/service/GenericManager.java
/Users/mraible/Work/appfuse-2.0/service/src/main/java/org/appfuse/service/LookupManager.java
---- Full Classpath —
Empty
---- Compiler Messages —
info directory classpath entry does not exist: /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/sunrsasign.jar
abort ABORT – (BCException) Unable to continue, this version of AspectJ supports classes built with weaver version 3.0 but the class org.springframework.beans.factory.aspectj.AbstractBeanConfigurerAspect is version 5.0
when batch building BuildConfig[null] #Files=21

Unable to continue, this version of AspectJ supports classes built with weaver version 3.0 but the class org.springframework.beans.factory.aspectj.AbstractBeanConfigurerAspect is version 5.0
when batch building BuildConfig[null] #Files=21

org.aspectj.weaver.BCException: Unable to continue, this version of AspectJ supports classes built with weaver version 3.0 but the class org.springframework.beans.factory.aspectj.AbstractBeanConfigurerAspect is version 5.0
when batch building BuildConfig[null] #Files=21

at org.aspectj.weaver.bcel.BcelAttributes.readAjAttributes(BcelAttributes.java:53)
at org.aspectj.weaver.bcel.BcelObjectType.ensureAspectJAttributesUnpacked(BcelObjectType.java:312)
at org.aspectj.weaver.bcel.BcelObjectType.<init>(BcelObjectType.java:142)
at org.aspectj.weaver.bcel.BcelWorld.buildBcelDelegate(BcelWorld.java:360)
at org.aspectj.weaver.bcel.BcelWorld.addSourceObjectType(BcelWorld.java:422)
at org.aspectj.weaver.bcel.BcelWeaver.addAspectsFromJarFile(BcelWeaver.java:250)
at org.aspectj.weaver.bcel.BcelWeaver.addLibraryJarFile(BcelWeaver.java:225)
at org.aspectj.ajdt.internal.core.builder.AjBuildManager.initBcelWorld(AjBuildManager.java:802)
at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild(AjBuildManager.java:243)
at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:180)
at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:112)
at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:60)
at org.aspectj.tools.ajc.Main.run(Main.java:378)
at org.aspectj.tools.ajc.Main.runMain(Main.java:253)
at org.codehaus.mojo.aspectj.AbstractAjcCompiler.execute(AbstractAjcCompiler.java:378)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:451)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:558)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:499)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:478)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:330)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:291)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:142)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:287)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)

---- org.aspectj.weaver.bcel.BcelWorld@5d1f6a ----
Shadow mungers:
Empty
Type mungers:
Empty
Late Type mungers:
Empty



 All   Comments   Work Log   Change History   FishEye   Builds      Sort Order: Ascending order - Click to sort in descending order
Matt Raible added a comment - 02/May/08 08:58 PM
This is not a bug. I'm using the aspectj-maven-plugin and its AspectJ dependencies are version 1.5.4. After manually overriding the plugins' dependencies to specify version 1.6.0, the problem went away.

Juergen Hoeller added a comment - 03/May/08 05:48 PM
Indeed, Spring 2.5.4 requires AspectJ 1.6 for use of spring-aspects.jar (while remaining compatible with AspectJ 1.5.4 for pointcut expression usage with proxy-based Spring AOP). Good to hear that it does work with AspectJ 1.6 for you now... In any case, we need to state clearly that AspectJ 1.6 is required for some use cases as of Spring 2.5.4.

Juergen


Szczepan Kuzniarz added a comment - 13/Jun/08 05:09 AM
You should also update pom.xml for spring-aspects. Current version in central Maven repository at http://repo1.maven.org/maven2 depends on AspectJ 1.5.4:

<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
...
<version>2.5.4</version>
...
<dependencies>
<dependency>
<groupId>aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.5.4</version>
</dependency>
<dependency>
<groupId>aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.5.4</version>
</dependency>
...


Juergen Hoeller added a comment - 13/Jun/08 01:21 PM
Indeed, the pom wasn't updated there. Fortunately this has been fixed for 2.5.5 already - to be available early next week.

Juergen


Eric Walker added a comment - 06/Jul/08 04:16 PM
I have been seeing a similar problem. My issue involves Spring, AspectJ and perhaps GWT. I am new to all of them and am not sure how much information will be helpful. Please let me know if you could use more information.

I have been trying for some time now to get Spring to use the @Configurable annotation to inject a dependency into a GWT servlet that provides an RPC service. After trying a number of things out and learning a lot in the process, I finally tracked one of my difficulties down to library dependencies. The jar files that finally worked were:

aspectjrt-1.6.0.jar
aspectjweaver-1.6.0.jar
spring-agent-2.5.x.jar (5390 bytes)
spring-2.5.x.jar (2839KB)
spring-aspects-2.5.x.jar (16419 bytes)
gwt-user-1.5.0.jar

JRE 1.6.0_06
Eclipse 3.3.2

The AspectJ files come from the AJDT 1.5.2 library for Eclipse. The version "2.5.x" for the Spring files refers to the fact that I got them from a zip file "spring-framework-2.5.zip" which I must have downloaded sometime back, at a time that I was not keeping track of version numbers very carefully. Once I figured out there was a dependency problem, I tried to get Spring files with more specific versions to work, but I was unable to find any that did. Jar files for Spring 2.5.4, 2.5.5 and 2.6.0-547 did not act upon the @Configurable annotation, perhaps because they were conflicting with one another, with the AspectJ libraries or possibly with GWT or MySQL. It should also be mentioned that the problem didn't seem to be in spring-agent.jar, which worked for all versions that I tried.

I hope this helps.

Getting this setup to work has involved the steepest learning curve I remember going through for a long time. If I hadn't had that "2.5" Spring zip file lying around, I doubt I would have stumbled upon the right configuration. It's not clear at this point what would have made things easier, though.