javadoc似乎将.aj文件中的类名视为包名

时间:2012-11-22 10:18:15

标签: javadoc aspectj

我正在为一个主要是普通Java的库生成Javadoc,但是由于生成了一个类,我需要向该类添加一个方法(我不能使用继承),我创建了一个AspectJ文件。当然,我必须通过在它前面添加它所属的类来定义新方法。

现在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 Tool Suite 3.1.0.RELEASE(Eclipse)中使用jdk 1.7_09

P.S。我尝试使用ajdoc,但无法解析org.junit,org.slf4j或org.apache.xxx。

2 个答案:

答案 0 :(得分:0)

我删除了文件名中的下划线,将您的方面称为“ClassnameAdvice”,将.aj文件称为ClassnameAdvice.aj。或者,您可能只需要删除.aj文件中方面名称中的“.aj”。

答案 1 :(得分:0)

您应该能够从maven中的javadoc插件中排除.aj文件。许多处理源代码的工具产品,还没有与方面一起使用(pmd,checkstyle,findbugs等)。