Gradle编译报错:无法找到@Entity符号问题求助
解决@Entity注解找不到的编译错误
嘿,这个问题我碰到过好几次,其实就是两个关键点没处理好,咱们一步步来搞定:
1. 先补全实体类的导入语句
你写的Reference类里用了@Entity注解,但完全没导入它的包,编译器当然找不到啦!赶紧在类的顶部加上这行导入:
import javax.persistence.Entity;
补全后的完整代码应该是这样:
package main.java.io.espaidoc.persistence.domain; import javax.persistence.Entity; @Entity public class Reference { private String id; /** * @return the id */ public String getId() { return id; } /** * @param id the id to set */ public void setId(String id) { this.id = id; } }
2. 更新你的Gradle依赖配置
另外你的build.gradle.kts里也有几个需要调整的地方,不然可能还会有后续问题:
compile这个配置早就被Gradle弃用了,换成implementation才是现在的标准写法- Hibernate OGM的BOM包得用
platform()来导入,这样能自动统一所有OGM相关依赖的版本,避免版本冲突 - 建议加上
mavenCentral()仓库,有些依赖在gradlePluginPortal里可能找不到
修改后的build.gradle.kts代码:
plugins { java checkstyle } repositories { gradlePluginPortal() mavenCentral() // 新增这个仓库,确保依赖能顺利下载 } dependencies { implementation("org.eclipse.microprofile:microprofile:2.1") implementation("org.hibernate.javax.persistence:hibernate-jpa-2.2-api:1.0.0.Beta2") implementation(platform("org.hibernate.ogm:hibernate-ogm-bom:5.4.1.Final")) implementation("org.hibernate.ogm:hibernate-ogm-mongodb") }
3. 最后验证一下
做完上面两步,跑一下Gradle的编译命令:
./gradlew compileJava
这下应该就能顺利通过编译,不会再报找不到@Entity的错误啦!
内容的提问来源于stack exchange,提问作者Jordi
相关产品推荐
相关产品推荐

