将AspectJ与NetBeans平台开发集成
您是否正在使用NetBeans平臺開發項目? 您愿意使用AspectJ來使用AOP嗎? 您不知道如何將AspectJ編譯器集成到NetBeans的內部版本中?
如果您的回答是“是”,則此帖子適合您。
我決定寫這篇技術文章,是因為我在尋找該解決方案之前一直很費力,所以我想分享一下。
講故事
以前,我不得不面對將AspectJ集成到使用NetBeans Platform源代碼實現的Rich Client Application中的問題。 做出的第一個決定是在編譯級別集成AspectJ,以便創建包含AOP的已編譯源代碼。
主要問題是,如何將此后編譯與netbeans ant編譯文件集成在一起。
解決方案
首先讓我們確定必須修改的文件:
步驟1
下載AspectJ庫,并將它們放在NetBeans安裝的“ harness”文件夾內的文件夾中。 假設此文件夾名為:aspectj-xxx / lib。
第2步
進入包含要與AspectJ一起編譯的源代碼的模塊,并在其project.properties文件(在重要文件中)中添加以下行:
aspectjcompiler=required第三步
現在是時候配置common.xml文件了。 啟動構建操作時,NetBeans IDE調用的ant目標實際上位于此位置。
該示例是使用NetBeans 7.3.1完成的,但對于以前或將來的更改差異很小。 修改以藍色突出顯示。
更改目標編譯,如下所示:
<target name=”compile-nb-javac” depends=”init,up-to-date” unless=”is.jar.uptodate”> <mkdir dir=”${build.classes.dir}”/> <depend srcdir=”${src.dir}” destdir=”${build.classes.dir}” cache=”${build.dir}/depcache”> <classpath refid=”cp”/> </depend> <nb-javac srcdir=”${src.dir}” destdir=”${build.classes.dir}” debug=”${build.compiler.debug}” debuglevel=”${build.compiler.debuglevel}” encoding=”UTF-8″ deprecation=”${build.compiler.deprecation}” optimize=”${build.compiler.optimize}” source=”${javac.source}” target=”${javac.target}” includeantruntime=”false”> <classpath refid=”cp”/> <compilerarg line=”${javac.compilerargs}”/> <processorpath refid=”processor.cp”/> </nb-javac> <copy todir=”${build.classes.dir}”> <fileset dir=”${src.dir}” excludes=”${jar-excludes}”/> </copy> </target>添加一個新的目標編譯 ,如下所示:
<target name=”compile” depends=”init,up-to-date” unless=”is.jar.uptodate”> <mkdir dir=”${build.classes.dir}”/> <depend srcdir=”${src.dir}” destdir=”${build.classes.dir}” cache=”build/depcache”> <classpath refid=”cp”/> </depend> <antcall target=”compile-nb-javac” inheritAll=”true” /> <antcall target=”compile-aspectj” inheritAll=”true” /> </target>添加新的目標compile-aspectj,如下所示:
<target name=”compile-aspectj” depends=”init,up-to-date” unless=”is.jar.uptodate” if=”aspectjcompiler”> <property name=”cpProperty” refid=”cp”/> <property name=”aspectj.lib.dir” location=”${harness.dir}/aspectj-x.x.x/lib”/> <property name=”aspectjtools.jar” location=”${aspectj.lib.dir}/aspectjtools.jar”/> <property name=”aspectjrt.jar” location=”${aspectj.lib.dir}/aspectjrt.jar”/> <taskdef resource=”org/aspectj/tools/ant/taskdefs/aspectjTaskdefs.properties”> <classpath> <pathelement path=”${aspectjtools.jar}”/> </classpath> </taskdef> <iajc destdir=”${build.classes.dir}” source=”${javac.source}” fork=”true” forkclasspath=”${aspectjtools.jar}” classpath=”${aspectjrt.jar};${cpProperty}” failonerror=”false” > <sourceroots> <pathelement location=”${src.dir}”/> </sourceroots> </iajc> </target>結論
現在,當您進行清理和構建時,您會看到所選模塊的源代碼在正常編譯之后立即針對AspectJ編譯器進行了編譯。
您需要確保的是,方面和必須使用其進行編譯的源代碼都在同一模塊中。
翻譯自: https://www.javacodegeeks.com/2013/10/integrate-aspectj-with-netbeans-platform-development.html
總結
以上是生活随笔為你收集整理的将AspectJ与NetBeans平台开发集成的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么保存电脑系统镜像照片(怎么保存电脑系
- 下一篇: 电脑桌面文件滚动显示软件(电脑滚屏显示软