【发布时间】:2015-06-16 01:19:16
【问题描述】:
我在创建要为 AspectJ 编译的 ant 任务时遇到问题。这似乎是一个命名空间问题,ant 无法识别任务名称“aspectj:iajc”。知道为什么会这样吗?
错误信息:
build.xml:122: Problem: failed to create task or type antlib:org.aspectj:iajc
Cause: The name is undefined.
将 jars 添加到 WEB-INF/lib 目录:
- aspectjrt-1.8.5.jar
- aspectjtools-1.6.2.jar
- aspectjweaver-1.8.5.jar
为项目元素添加了命名空间:
<project xmlns:aspectj="antlib:org.aspectj">
添加了iajc任务来编译目标:
<target name="compile">
...
<aspectj:iajc source="1.6" sourceroots="../src" destDir="./${final.dir}/WEB-INF/classes/">
<classpath>
<fileset dir="./lib/">
<include name="**/*.jar" />
</fileset>
</classpath>
</aspectj:iajc>
...
</target>
我尝试将 iajc 任务中的源参数更改为“1.8”以匹配 jrt 包,但得到了相同的错误消息。
参考:
【问题讨论】:
-
我知道这不是您要寻找的答案,但这里有一个提议:如果您可以选择切换到 Maven,我可以为您提供帮助。我经常将 AspectJ 与 Maven 一起使用,但从未使用过 Ant,因为我不喜欢脚本化构建。
-
谢谢,但我能够与 Ivy 一起使用它。
-
那么请不要让问题悬而未决,而是自己回答并接受自己的回答,以便结束问题并帮助处于相同情况的其他人,或者完全删除问题。跨度>