【问题标题】:Does Intellij IDEA support @RooJpaRepository?Intellij IDEA 是否支持 @RooJpaRepository?
【发布时间】:2013-10-14 03:43:49
【问题描述】:

IntelliJ 12.1.6 Ultimate,启用了以下插件:

  • AspectJ 支持
  • AspectJ 韦弗
  • 弹簧支撑
  • 弹簧数据
  • Spring AOP 和 @AspectJ

我有一个 Spring Roo 项目,它使用 Spring Data repository API。以下是 sn-p 代码:

存储库类

package my.package;

@RooJpaRepository(domainType = Thing.class) 
public interface ThingRepository {
}

Roo 生成的方面文件

privileged aspect ThingRepository_Roo_Jpa_Repository {
    declare parents: ThingRepository extends JpaRepository<Thing, Long>;

    declare parents: ThingRepository extends JpaSpecificationExecutor<Thing>;

    declare @type: ThingRepository: @Repository;
}

Spring JPA 配置

<repositories base-package="my.package" />

但在 xml 文件中,IntelliJ 告诉我

所以每当我在 IntelliJ 中使用查找/保存之类的方法时,它都会被标记为“无法解析方法”

但是,IntelliJ 和 Maven 编译都没有任何问题,只是编辑器中无法解析的方法。可能是什么问题?

【问题讨论】:

  • 问题是 Classpath 和 AspectJ,我不确定如何在 IntelliJ 中执行此操作,但在 Eclipse 中,您必须将项目启用为 AspectJ 项目并重新构建项目。希望对您有所帮助。
  • 我在 intellij 问题跟踪器上添加了一个问题。 youtrack.jetbrains.com/issue/IDEA-120006。让我们看看会发生什么
  • @albfan 谢谢,我没想到 :)

标签: spring intellij-idea spring-roo spring-data


【解决方案1】:

坏消息,我认为您必须等待该功能。看到这个:

http://youtrack.jetbrains.com/issue/IDEA-59138

简而言之:现在 Intellij 不支持 AspectJ 声明父母或声明优先级

自 Intellij 11 以来,Intellij 开发人员一直在使用此功能(请参阅有关 No technical block, just lack of resources 的 cmets)

该问题已在 Intellij 14 上标记为已解决。这需要多长时间?看到 Intellij 13.1 计划在Q2 of 2014 发布,所以需要一段时间。

【讨论】:

  • 要明确,这个问题是否也意味着declare @type: ThingRepository: @Repository;这一行无法识别?我正在尝试让 IntelliJ 的 JPA 工具在实体使用 @RooJpaActiveRecord 的项目中工作,我想知道是否存在同样的问题。
猜你喜欢
  • 2015-05-10
  • 2016-10-12
  • 2012-09-13
  • 1970-01-01
  • 2015-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-09
相关资源
最近更新 更多