我的第一个问题是:“导出可部署插件和片段”功能是否使用与产品导出功能相同的通用构建脚本?如何在PluginExport中启用AspectJ编译器/构建
我的主要问题是:为什么导出可部署插件和片段生成没有.class文件的jar?
在我的项目中,我们使用加载时间编织,成功导出项目后,编织不适用。原因是因为我的导出的aspectj插件没有.class文件。
经过多方面的研究后,如何进行aspectj的识别导出是定义AspectJ编译器适配器。看来这个编译器被加载并执行,但结果是没有.class文件。
有人有一个想法缺少什么?
build.properties:
compilerAdapter=org.eclipse.ajdt.core.ant.AJDT_AjcCompilerAdapter
sourceFileExtensions=*.java, *.aj
source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.
编辑: 如果我rightklick上项目的,如果我按 “生成Ant文件的” 它会产生某事像这样在@dot目标:
<javac destdir="${build.result.folder}/@dot" failonerror="${javacFailOnError}" verbose="${javacVerbose}" debug="${javacDebugInfo}" includeAntRuntime="no" bootclasspath="${bundleBootClasspath}" source="${bundleJavacSource}" target="${bundleJavacTarget}" compiler="org.eclipse.ajdt.core.ant.AJDT_AjcCompilerAdapter" >
<compilerarg line="${compilerArg}" compiler="${build.compiler}"/>
<classpath refid="@dot.classpath" />
<src path="src/" />
<exclude name="META-INF/MANIFEST.MF ." />
<compilerarg value="@${basedir}/javaCompiler...args" compiler="org.eclipse.ajdt.core.ant.AJDT_AjcCompilerAdapter" />
<compilerarg line="-log '${build.result.folder}/@dot${logExtension}'" compiler="org.eclipse.ajdt.core.ant.AJDT_AjcCompilerAdapter" />
</javac>
我会说这看起来正确,AJDT编译器已设置。如果此时“属性文件”中未设置“compilerAdapter = org.eclipse.ajdt.core.ant.AJDT_AjcCompilerAdapter”,则会改为eclipse编译器。
后运行此产生buildskript(我认为“导出部署插件......”会做同样的)唯一的javac输出我有是:test\TestAspect.aj skipped - don't know how to handle it