2012-03-18 8 views
5

कॉन्फ़िगर करें मैं अपने ग्रहण आरसीपी/आरएपी आवेदन में AspectJ जोड़ने की कोशिश कर रहा हूँ।ग्रहण आरसीपी AspectJ

मैंने कदम उठाए क्योंकि ये लोग कहते हैं: link here (एक नया मंच बनाने के अलावा, मैंने अपने मंच में अपने स्वयं के पुस्तकालयों को जोड़ा)।

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) 

मैं नहीं जानता कि क्यों मैं इस त्रुटि है ... यह वास्तव में अजीब बात है ...

:

लेकिन समस्या यह है कि यह अभी भी काम नहीं कर रहा है ... मैं इस त्रुटि मिलती है

उत्तर

3

ठीक है ... इस त्रुटि हुआ क्योंकि मैं org.aspectj.runtime निर्भरता reexported नहीं है ...

लेकिन अब मैं एक और त्रुटि है:

!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 

मुझे लगता है कि ऐसा इसलिए है क्योंकि org.eclipse.equinox.weaving.hook नहीं मिला है ... लेकिन मैंने को run configurations पर जोड़ा।

समाधान के साथ संपादित:

यह पाया ..

मैं

+4

एक ही फ़ोल्डर में AspectJ पुस्तकालयों को जोड़ने के लिए, जहां मेरे OSGi रूपरेखा है (जहां मंच परिभाषित किया गया है) था और वे आश्चर्य क्यों एओपी ने कभी नहीं लिया ... काम करने के लिए गर्दन में ऐसा दर्द होने के लिए महान कार्यक्षमता है। केवल सबसे जिद्दी जीवित रहो! – jkschneider