2015-04-22 38 views
0

我在創建一個爲AspectJ編譯的ant任務時遇到了問題。它似乎是一個命名空間問題,螞蟻沒有識別任務名稱「aspectj:iajc」。任何想法,爲什麼這可能是?AspectJ的構建任務由於未定義的名稱而失敗

錯誤消息:

build.xml:122: Problem: failed to create task or type antlib:org.aspectj:iajc 
Cause: The name is undefined. 

添加罐到WEB-INF/lib目錄:

  • aspectjrt-1.8.5.jar
  • aspectjtools-1.6.2.jar
  • aspectjweaver-1.8.5.jar

Added added namespace項目元素:

<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包,但得到了同樣的錯誤信息。

參考:

+0

我知道這不是您正在尋找的答案,但這裏有一個提供:如果切換到Maven是您的選擇,我可以幫助您。我使用Maven的AspectJ很多,但從來沒有使用Ant,因爲我不喜歡腳本構建。 – kriegaex

+0

謝謝,但我可以讓它與常春藤合作。 –

+0

那麼請不要將問題置之不理,而是要自己回答,並接受自己的回答,以便在相同的情況下解決問題並幫助其他人,或者完全刪除問題。 – kriegaex

回答

0

我仍然不知道什麼是錯誤的與我以前的做法,但我可以使它工作使用的taskdef,它允許您將特定的aspectj jar文件的路徑。

<taskdef resource="org/aspectj/tools/ant/taskdefs/aspectjTaskdefs.properties"> 
    <classpath> 
     <pathelement location="./lib/aspectjtools-1.8.5.jar"/> 
    </classpath> 
</taskdef> 
相關問題