Roo生成的方面不再在Classpath上

时间:2012-02-10 10:06:28

标签: spring aspectj

过去10个月我一直在使用Spring Roo和SpringSource Tool Suite,没有问题。现在,当我的代码继续在Maven中编译时,Eclipse中的类路径中没有生成的方面,所以我得到Roo生成的所有代码调用的红旗错误,例如:getters和setter,finders on the实体和toString()。 roo .aj文件与实体并排生成,因此

@RooJavaBean
@RooToString
@RooEntity
public class Applicant extends Responsibility {

    @OneToOne(cascade=CascadeType.ALL, mappedBy = "applicant")
    private ApplicantProfile applicantProfile;

}

生成Applicant_Roo_Configurable.aj,Applicant_Roo_ToString.aj,Applicant_Roo_Entity.aj e.g。

privileged aspect Applicant_Roo_JavaBean {

public ApplicantProfile Applicant.getApplicantProfile() {
    return this.applicantProfile;
}

public void Applicant.setApplicantProfile(ApplicantProfile applicantProfile) {
    this.applicantProfile = applicantProfile;
}

}

2 个答案:

答案 0 :(得分:0)

我可以看到两种可能性:

  1. 您的项目不是AspectJ项目。在.project文件中(默认隐藏,但“开放资源可以找到它”),您应该将org.eclipse.ajdt.ui.ajnature视为其中一种性质。
  2. .aj文件已从构建中排除。
  3. 如果#1,则选择项目,右键单击,配置 - >转换为AspectJ项目。如果是#2,那么Project - >属性 - > Java构建路径 - >从所有源文件夹中获取并删除所有排除过滤器。

答案 1 :(得分:0)

感谢指点安德鲁。正如您在上面第2点中提到的,出于某种原因,我的.aj文件会自动从构建中排除。

我在Project中包含了'* / .aj' - >属性 - > Java构建路径 - >资源。工作就像一个魅力。