[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Newsgroup Home]
[news.eclipse.technology.ajdt] Re: eclipse-maven-plugin 2.6 and AJDT

eclipse-maven-plugin version 2.6 is incompatible with AJDT.  See:
http://jira.codehaus.org/browse/MECLIPSE-538
http://jira.codehaus.org/browse/MECLIPSE-544

This should be addressed in version 2.7.

For now, you must use version 2.5.x.

This works, but does not automatically add aspect libraries to the aspect
path.  There is a work around.  See:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=270554


On 05/05/09 5:00 AM, in article
ee04284b043f19143fc401e6cd7d014b$1@xxxxxxxxxxxxxxx, "kaj.hejer@xxxxxxxxxxx"
<kaj.hejer@xxxxxxxxxxx> wrote:

> Hi!
> 
> I'm not sure if this is the right forum to ask this question, but I give
> it a try :)
> 
> After upgrading to eclipse-maven-plugin version 2.6 I get a
> "java.lang.NoClassDefFoundError: org/aspectj/weaver/BCException" when
> running my unittests from inside eclipse. I have tried to turn on JDT
> weaving but get the same exception.  I'm on MacOS X 10.5.6 with java
> 1.6.0_07
> 
> When trying to use the new support for AJDT as described on
> http://jira.codehaus.org/browse/MECLIPSE-200 and
> http://maven.apache.org/plugins/maven-eclipse-plugin/examples/ajdt-projects.ht
> ml 
> by using
> 
> [code] 
> <ajdtVersion>1.6</ajdtVersion>
> [/code]
> 
> I don't get aspectjweaver.jar included in my .classpath file and I get the
> stacktrace bellow.
> 
> If I use
> 
> <ajdtVersion>none</ajdtVersion>
> 
> 
> I get spectjweaver.jar included in my .classpath file but then I have to
> add the following manually for spring-aspects after running mvn
> eclipse:eclipse:
> 
>    <attributes>
>       <attribute name="org.eclipse.ajdt.aspectpath" value="true"    />
>    </attributes>
> 
> 
> That is why I would like to get the new ajdt support in
> eclipse-maven-plugin to work.
> 
> The stacktrace I get with eclipse eclipse-jee-ganymede-SR2 (3.4.2) is:
> 
> 
> java.lang.IllegalStateException: Failed to load ApplicationContext
> at 
> org.springframework.test.context.TestContext.getApplicationContext(TestContext
> .java:201)
> at 
> org.springframework.test.context.support.DependencyInjectionTestExecutionListe
> ner.injectDependencies(DependencyInjectionTestExecutionListener.java:109)
> at 
> org.springframework.test.context.support.DependencyInjectionTestExecutionListe
> ner.prepareTestInstance(DependencyInjectionTestExecutionListener.java:75)
> at 
> org.springframework.test.context.TestContextManager.prepareTestInstance(TestCo
> ntextManager.java:255)
> at 
> org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(Spr
> ingJUnit4ClassRunner.java:111)
> at 
> org.springframework.test.context.junit4.SpringJUnit4ClassRunner.invokeTestMeth
> od(SpringJUnit4ClassRunner.java:148)
> at 
> org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java
> :51)
> at 
> org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:44)
> at 
> org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27)
> at 
> org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37)
> at 
> org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42)
> at 
> org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUni
> t4ClassRunner.java:97)
> at 
> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestRefer
> ence.java:45)
> at 
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunn
> er.java:460)
> at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunn
> er.java:673)
> at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.ja
> va:386)
> at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.j
> ava:196)
> Caused by: org.springframework.beans.factory.BeanDefinitionStoreException:
> Unexpected exception parsing XML document from URL
> [file:src/main/webapp/WEB-INF/applicationContext.xml]; nested exception is
> java.lang.NoClassDefFoundError: org/aspectj/weaver/BCException
> at 
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefini
> tions(XmlBeanDefinitionReader.java:420)
> at 
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefiniti
> ons(XmlBeanDefinitionReader.java:342)
> at 
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefiniti
> ons(XmlBeanDefinitionReader.java:310)
> at 
> org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBea
> nDefinitions(AbstractBeanDefinitionReader.java:143)
> at 
> org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBea
> nDefinitions(AbstractBeanDefinitionReader.java:178)
> at 
> org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBea
> nDefinitions(AbstractBeanDefinitionReader.java:149)
> at 
> org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBea
> nDefinitions(AbstractBeanDefinitionReader.java:212)
> at 
> org.springframework.test.context.support.AbstractGenericContextLoader.loadCont
> ext(AbstractGenericContextLoader.java:81)
> at 
> org.springframework.test.context.support.AbstractGenericContextLoader.loadCont
> ext(AbstractGenericContextLoader.java:42)
> at 
> org.springframework.test.context.TestContext.loadApplicationContext(TestContex
> t.java:173)
> at 
> org.springframework.test.context.TestContext.getApplicationContext(TestContext
> .java:197)
> ... 17 more
> Caused by: java.lang.NoClassDefFoundError: org/aspectj/weaver/BCException
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:164)
> at 
> org.springframework.aop.config.ConfigBeanDefinitionParser.class$(ConfigBeanDef
> initionParser.java:208)
> at 
> org.springframework.aop.config.ConfigBeanDefinitionParser.createPointcutDefini
> tion(ConfigBeanDefinitionParser.java:539)
> at 
> org.springframework.aop.config.ConfigBeanDefinitionParser.parsePointcut(Config
> BeanDefinitionParser.java:476)
> at 
> org.springframework.aop.config.ConfigBeanDefinitionParser.parse(ConfigBeanDefi
> nitionParser.java:142)
> at 
> org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceH
> andlerSupport.java:69)
> at 
> org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustom
> Element(BeanDefinitionParserDelegate.java:1297)
> at 
> org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustom
> Element(BeanDefinitionParserDelegate.java:1287)
> at 
> org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.pars
> eBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:135)
> at 
> org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.regi
> sterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:92)
> at 
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefi
> nitions(XmlBeanDefinitionReader.java:507)
> at 
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefini
> tions(XmlBeanDefinitionReader.java:398)
> ... 27 more
> 
> 
> 
> The stacktrace I get with eclipse 3.5M7 is:
> 
> 
> java.lang.IllegalStateException: Failed to load ApplicationContext
> at 
> org.springframework.test.context.TestContext.getApplicationContext(TestContext
> .java:201)
> at 
> org.springframework.test.context.support.DependencyInjectionTestExecutionListe
> ner.injectDependencies(DependencyInjectionTestExecutionListener.java:109)
> at 
> org.springframework.test.context.support.DependencyInjectionTestExecutionListe
> ner.prepareTestInstance(DependencyInjectionTestExecutionListener.java:75)
> at 
> org.springframework.test.context.TestContextManager.prepareTestInstance(TestCo
> ntextManager.java:255)
> at 
> org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(Spr
> ingJUnit4ClassRunner.java:111)
> at 
> org.springframework.test.context.junit4.SpringJUnit4ClassRunner.invokeTestMeth
> od(SpringJUnit4ClassRunner.java:148)
> at 
> org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java
> :51)
> at 
> org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:44)
> at 
> org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27)
> at 
> org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37)
> at 
> org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42)
> at 
> org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUni
> t4ClassRunner.java:97)
> at 
> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestRefer
> ence.java:46)
> at 
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunn
> er.java:467)
> at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunn
> er.java:683)
> at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.ja
> va:390)
> at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.j
> ava:197)
> Caused by: org.springframework.beans.factory.BeanDefinitionStoreException:
> Unexpected exception parsing XML document from URL
> [file:src/main/webapp/WEB-INF/applicationContext.xml]; nested exception is
> java.lang.NoClassDefFoundError:
> org/aspectj/weaver/reflect/ReflectionWorld$ReflectionWorldException
> at 
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefini
> tions(XmlBeanDefinitionReader.java:420)
> at 
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefiniti
> ons(XmlBeanDefinitionReader.java:342)
> at 
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefiniti
> ons(XmlBeanDefinitionReader.java:310)
> at 
> org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBea
> nDefinitions(AbstractBeanDefinitionReader.java:143)
> at 
> org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBea
> nDefinitions(AbstractBeanDefinitionReader.java:178)
> at 
> org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBea
> nDefinitions(AbstractBeanDefinitionReader.java:149)
> at 
> org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBea
> nDefinitions(AbstractBeanDefinitionReader.java:212)
> at 
> org.springframework.test.context.support.AbstractGenericContextLoader.loadCont
> ext(AbstractGenericContextLoader.java:81)
> at 
> org.springframework.test.context.support.AbstractGenericContextLoader.loadCont
> ext(AbstractGenericContextLoader.java:42)
> at 
> org.springframework.test.context.TestContext.loadApplicationContext(TestContex
> t.java:173)
> at 
> org.springframework.test.context.TestContext.getApplicationContext(TestContext
> .java:197)
> ... 17 more
> Caused by: java.lang.NoClassDefFoundError:
> org/aspectj/weaver/reflect/ReflectionWorld$ReflectionWorldException
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:169)
> at 
> org.springframework.aop.config.ConfigBeanDefinitionParser.class$(ConfigBeanDef
> initionParser.java:208)
> at 
> org.springframework.aop.config.ConfigBeanDefinitionParser.createPointcutDefini
> tion(ConfigBeanDefinitionParser.java:539)
> at 
> org.springframework.aop.config.ConfigBeanDefinitionParser.parsePointcut(Config
> BeanDefinitionParser.java:476)
> at 
> org.springframework.aop.config.ConfigBeanDefinitionParser.parse(ConfigBeanDefi
> nitionParser.java:142)
> at 
> org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceH
> andlerSupport.java:69)
> at 
> org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustom
> Element(BeanDefinitionParserDelegate.java:1297)
> at 
> org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustom
> Element(BeanDefinitionParserDelegate.java:1287)
> at 
> org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.pars
> eBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:135)
> at 
> org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.regi
> sterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:92)
> at 
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefi
> nitions(XmlBeanDefinitionReader.java:507)
> at 
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefini
> tions(XmlBeanDefinitionReader.java:398)
> ... 27 more
> Caused by: java.lang.ClassNotFoundException:
> org.aspectj.weaver.reflect.ReflectionWorld$ReflectionWorldException
> at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:316)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:288)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374)
> ... 40 more
> 
> 
> 
> From my pom.xml:
> 
> 
>         <plugin>
>             <groupId>org.codehaus.mojo</groupId>
>             <artifactId>aspectj-maven-plugin</artifactId>
>             <executions>
>                <execution>
>                   <goals>
>                      <goal>compile</goal>
>                      <goal>test-compile</goal>
>                   </goals>
>                </execution>
>             </executions>
>             <dependencies>
>                <dependency>
>                   <groupId>org.aspectj</groupId>
>                   <artifactId>aspectjrt</artifactId>
>                   <version>${aspectj.version}</version>
>                </dependency>
>                <dependency>
>                   <groupId>org.aspectj</groupId>
>                   <artifactId>aspectjtools</artifactId>
>                   <version>${aspectj.version}</version>
>                </dependency>
>             </dependencies>
>             
>             <configuration>
>                <source>1.5</source>
>                <target>1.5</target>
>                <encoding>utf-8</encoding>
>                <verbose>true</verbose>
>                <outxml>false</outxml>
> 
>                <showWeaveInfo>false</showWeaveInfo>
>                <proceedOnError>true</proceedOnError>
> 
>                <aspectLibraries>
>                   <aspectLibrary>
>                      <groupId>org.springframework</groupId>
>                      <artifactId>spring-aspects</artifactId>
>                   </aspectLibrary>
>                </aspectLibraries>
> 
>                <weaveDependencies>
>                   <weaveDependency>
>                      <groupId>org.springframework</groupId>
>                      <artifactId>spring-aspects</artifactId>
>                   </weaveDependency>
>                </weaveDependencies>
>              
>             </configuration>
>          </plugin>
> 
> 
>          <plugin>
>             <groupId>org.apache.maven.plugins</groupId>
>             <artifactId>maven-eclipse-plugin</artifactId>
>             <version>2.6</version>
>             <configuration>
> 
>               <ajdtVersion>1.6</ajdtVersion>
> 
>          <downloadSources>true</downloadSources>
>          <downloadJavadocs>true</downloadJavadocs>
> 
>                <projectnatures>
>                  
> <java.lang.String>org.eclipse.ajdt.ui.ajnature</java.lang.String>
>                  
> <java.lang.String>org.springframework.ide.eclipse.core.springnature</java.lang
> .String>
>                  
> <java.lang.String>org.eclipse.jdt.core.javanature</java.lang.String>
>                </projectnatures>
>                <buildcommands>
>                  
> <buildcommand>org.eclipse.ajdt.core.ajbuilder</buildcommand>
>                </buildcommands>
>             </configuration>
>          </plugin>
> 
> 
> 
> -Kaj :)
>