【问题标题】:Facing Spring Roo issue while converting JPA project to non-JPA project将 JPA 项目转换为非 JPA 项目时面临 Spring Roo 问题
【发布时间】:2016-06-21 09:22:10
【问题描述】:

我有一个使用 Spring Roo 生成的 Spring - JPA 项目。现在,对于某些要求,我们正在用其他一些不符合 JPA 的框架(MyBatis)替换我们的 JPA 层。我已经完成了更改,它们也运行良好。我已经从我的 pom.xml 文件中删除了所有 JPA 依赖项。

我的 JUnit 测试项目用于测试 DAO 层时遇到问题。 Spring Roo 正在寻找 javax.persistence.Entity 类,它是 JPA 特定 jar 的一部分。

请在下方查看错误详情:

can't determine annotations of missing type javax.persistence.Entity  
when weaving type ****.**.***Test  
when weaving classes  
when weaving  
when batch building BuildConfig[null] #Files=12 AopXmls=#0
[Xlint:cantFindType]
error at (no source information available

谁能告诉我如何在不添加 JPA 依赖项的情况下删除此错误?

【问题讨论】:

  • 这个错误出现在 Spring Roo shell 上吗?

标签: mybatis spring-roo


【解决方案1】:

您可以尝试从您的测试 .aj 文件中创建一个 push-in 到相关的 .java 文件,然后删除使您的 Spring Roo shell 显示该错误的必要代码(导入、注释)。

如果您不确定如何进行推入,可以阅读 Spring Roo 1.3.2.RELEASE 文档http://docs.spring.io/spring-roo/docs/1.3.2.RELEASE/reference/html/removing.html#removing-step-by-step-1

问候,

【讨论】:

  • 感谢您的回复。我已经从我的项目中删除了这些东西,但仍然在 junit 测试执行时它试图找到 javax.persistence.Entity 类。只是为了添加更多信息,我们使用 Aspectj maven 插件进行目标测试编译。所以我只在执行测试用例时遇到这个问题。
  • Spring-Roo 不会抛出此错误。我认为它是由 Aspectj 编译器在编译时抛出的。查看src/test/java 的所有*.aj 和_*.java _ 文件,以识别可能引用javax.persistence 包的任何注释。祝你好运!
猜你喜欢
  • 2014-09-19
  • 2012-11-12
  • 1970-01-01
  • 2020-01-04
  • 1970-01-01
  • 2015-08-17
  • 2017-06-16
  • 2019-07-28
  • 2011-08-11
相关资源
最近更新 更多