2012-11-22 15 views
1

我正在爲主要是普通Java的庫生成Javadoc,但由於生成了一個類並且需要向該類添加一個方法(並且我可以爲此使用繼承),我爲它創建了一個AspectJ文件。當然,我必須通過爲它所屬的類加上前綴來定義新方法。javadoc似乎將.aj文件中的類名作爲包名稱對待

現在的Javadoc與錯誤信息中止:

javadoc: error - Illegal package name: "C:\company\project\library\trunk\library\src\main\java\com\company\project\library\classname_extensionname.aj" 

(名稱取代,以保護無辜) 裏面的.aj文件我有:

package com.company.project.library; 

import com.company.project.library.classname; 

public aspect classname_extensionname { 
    // various static final variables 
    // various static methods to help the method I'm publicising 
    public String classname.toString() { 
     StringBuffer buffer = new StringBuffer(); 
     buffer.append(/* various bits and pieces */); 
     return buffer.toString(); 
    } 
} 

(原題有誤「 .aj「在行開始」公共方面「的末尾)

那麼,那有什麼問題?

我使用Spring工具套件3.1.0.RELEASE(Eclipse中)

P.S.內JDK 1.7_09我嘗試使用ajdoc,但是無法解析org.junit,org.slf4j或org.apache.xxx。

+0

您的方面是真的命名爲'classname_extensionname.aj'還是一個複製/粘貼錯誤?看起來很奇怪。 – kriegaex

+0

嗯,我不想把它稱爲classname.aj,以防我想添加其他方面。我們稱之爲classname_aspectname.aj。實際上,類名是TdkQoS,而aspectname是字符串。 – user1844643

+0

你沒有明白我的觀點。我指的是代碼中的方面名稱,而不是文件名稱。爲什麼方面名稱最後有「.aj」? – kriegaex

回答

0

我會擺脫文件名中的下劃線,將您的方面稱爲「ClassnameAdvice」,將.aj文件稱爲ClassnameAdvice.aj。或者,您可能只需要在.aj文件中刪除方面名稱中的「.aj」。

+0

我嘗試刪除下劃線,並且不起作用。文件中的「.aj」在轉錄時是錯誤的 - 它不在那裏。 – user1844643

0

你應該能夠從maven的javadoc插件中排除.aj文件。許多工作在源代碼上的工具產品,還沒有與方面工作(pmd,checkstyle,findbugs等)。

+0

有一個線索,我確實在http://www.oracle.com/technetwork/java/javase/downloads/index-136934.html#exclude中遇到了問題 - 它表明我應該列出所有我想要的文件記錄。其實有不少。 – user1844643

相關問題