我正在为一个主要是普通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。
答案 0 :(得分:0)
我删除了文件名中的下划线,将您的方面称为“ClassnameAdvice”,将.aj文件称为ClassnameAdvice.aj。或者,您可能只需要删除.aj文件中方面名称中的“.aj”。
答案 1 :(得分:0)
您应该能够从maven中的javadoc插件中排除.aj文件。许多处理源代码的工具产品,还没有与方面一起使用(pmd,checkstyle,findbugs等)。