2012-03-18 17 views
5

Estoy tratando de agregar AspectJ en mi aplicación Eclipse RCP/RAP.Eclipse RCP AspectJ configure

Lo hice paso a paso, como dicen estos tipos: link here (excepto que al crear una nueva plataforma, agregué las librerías por mi cuenta en mi plataforma).

Pero el problema es que todavía no funciona ... me sale este error:

osgi> !SESSION 2012-03-18 02:16:54.354 ----------------------------------------------- 
eclipse.buildId=unknown 
java.version=1.7.0_02 
java.vendor=Oracle Corporation 
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US 
Command-line arguments: -dev file:/home/alexandru/workspaces/Java-RCP-RAP/project/.metadata/.plugins/org.eclipse.pde.core/RAP Application/dev.properties -os linux -ws gtk -arch x86_64 -consoleLog -console -data /home/alexandru/workspaces/Java-RCP-RAP/project/.metadata/.plugins/org.eclipse.rap.ui.launch/RAPApplication 

!ENTRY org.eclipse.osgi 4 0 2012-03-18 02:16:54.960 
!MESSAGE Bundle org.eclipse.equinox.weaving.hook not found. 

java.lang.ClassNotFoundException: org.aspectj.weaver.loadtime.definition.Definition 
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:513) 
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429) 
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417) 
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356) 
    at org.eclipse.equinox.weaving.aspectj.AspectJWeavingActivator.start(Unknown Source) 
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702) 
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683) 
    at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381) 
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:389) 
    at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1130) 
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559) 
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544) 
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457) 
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243) 
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438) 
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1) 
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) 
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340) 

No sé por qué tengo este error ... es muy extraño ...

Respuesta

3

así ... ocurrido este error porque no he reexportados la dependencia org.aspectj.runtime ...

pero ahora tengo otro error:

!ENTRY org.eclipse.osgi 4 0 2012-03-18 21:33:55.112 
!MESSAGE Bundle org.eclipse.equinox.weaving.hook not found. 
java.lang.reflect.InvocationTargetException 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:601) 
    at org.eclipse.equinox.weaving.aspectj.AspectJWeavingActivator.start(Unknown Source) 
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702) 
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683) 
    at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381) 
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:389) 
    at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1130) 
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559) 
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544) 
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457) 
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243) 
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438) 
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1) 
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) 
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340) 
Caused by: java.lang.NoClassDefFoundError: org/eclipse/equinox/service/weaving/IWeavingServiceFactory 
    at org.eclipse.equinox.weaving.aspectj.AspectJWeavingStarter.start(Unknown Source) 
    ... 20 more 
Caused by: java.lang.ClassNotFoundException: org.eclipse.equinox.service.weaving.IWeavingServiceFactory 
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:467) 
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429) 
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417) 
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356) 
    ... 21 more 

Creo que esto se debe a que org.eclipse.equinox.weaving.hook no se encuentra ... pero agregué este -Dosgi.framework.extensions=org.eclipse.equinox.weaving.hook al run configurations.

editadas con SOLUCIÓN:

lo encontraron ..

he tenido que añadir las bibliotecas AspectJ en la misma carpeta donde mi marco OSGi es (donde se define la plataforma)

+4

y se preguntan por qué el AOP nunca despegó ... una gran funcionalidad para tener más dolor en el cuello para poder trabajar. ¡Solo los más tercos sobreviven! – jkschneider

Cuestiones relacionadas