如何使用equinox Weaving与bndtools因为equinox Weaving例子是旧的,它不能获得工作?
更新:
尝试为Hello world运行编织示例时
我有两个捆绑包:
public class HelloService implements BundleActivator { public void start(final BundleContext context) throws Exception { System.out.println("Hello world!"); } public void stop(final BundleContext context) throws Exception { System.out.println("Good bye world!"); } }
bnd.bnd
-buildpath: \ osgi.core,\ osgi.cmpn,\ biz.aQute.bnd.annotation,\ ${junit} Bundle-Version: 0.0.0.${tstamp} Require-Bundle: helloaspect Export-Package: \ com.weaving.hellohistorytest Bundle-Activator: com.weaving.hellohistorytest.HelloService
方面包:
@Component @Aspect public class HelloAspect { /** * Replaces the "Hello world!" output with "Hi from HelloAspect ;-)". */ @Before("execution(* HelloService+.*(..))") public void advice() { System.out.println("hello aspect"); } }
-buildpath: \ osgi.core,\ osgi.cmpn,\ biz.aQute.bnd.annotation,\ ${junit},\ aspectjrt-1.7.3,\ aspectjweaver,\ org.eclipse.equinox.supplement Bundle-Version: 0.0.0.${tstamp} Service-Component: \ * Export-Package: \ com.weaving.helloaspect;aspects="HelloAspect" Eclipse-SupplementBundle: com.weaving.hellohistorytest
launch.bndrun
runbundles: \ org.apache.felix.gogo.runtime,\ org.apache.felix.gogo.shell,\ org.apache.felix.gogo.command,\ org.eclipse.equinox.weaving.aspectj,\ org.eclipse.equinox.weaving.hook,\ aspectjweaver,\ aspectjrt-1.7.3,\ osgi.cmpn,\ osgi.core,\ cnf.run.equinox.common,\ org.apache.felix.framework,\ osgi.enterprise,\ org.eclipse.equinox.supplement,\ helloaspect;version=latest,\ hellohistorytest;version=latest,\ -runproperties:\ osgi.framework.extensions=org.eclipse.equinox.weaving.hook -runrequires:\ osgi.identity;filter:='(osgi.identity=org.apache.felix.gogo.shell)',\ osgi.identity;filter:='(osgi.identity=org.apache.felix.gogo.command)' -runvm: -Dosgi.framework.extensions=org.eclipse.equinox.weaving.hook,\ -Daj.weaving.verbose=true,\ -Dorg.aspectj.weaver.showWeaveInfo=true,\ -Dorg.aspectj.osgi.verbose=true
当我运行发布时:我也得到Hello world not hello Aspect,因此设置了Aspect Weaving Hooks插件(Incubation)
问题是什么?