Java Springboot@EntityScan不工作
我有一个Springboot应用程序,我的实体模型与作为依赖项包含的主应用程序分离 java位于这个包com.a.b.c中Java Springboot@EntityScan不工作,java,spring-boot,Java,Spring Boot,我有一个Springboot应用程序,我的实体模型与作为依赖项包含的主应用程序分离 java位于这个包com.a.b.c中 @SpringBootApplication @EntityScan("com.a.b") public class Applciation { public static void main(String args[]) { SpringApplication.run(Applciation.class, args); } }
@SpringBootApplication
@EntityScan("com.a.b")
public class Applciation
{
public static void main(String args[])
{
SpringApplication.run(Applciation.class, args);
}
}
我的实体模型位于这个包com.a.b中的另一个项目中
但是我得到了一个错误:由以下原因引起:java.lang.IllegalArgumentException:不是托管类型:类。我为此花了无数个小时 我将把你的问题分成3部分(我将使用“实体项目”和“spring项目”来指包含实体类的项目和试图合并实体类的主项目): 第1部分,共3部分:确保实体类在实体项目中公开 在实体项目的根目录下创建配置
package com.a.b
@Configuration
@Import ({Entity1.class, Entity1Repo.class, Entity1Key.class,
Entity2.class, ... })
class EntityConfig {}
第2部分,共3部分:确保实体类位于spring项目的类路径中
因为您使用的是SpringBoot,所以我确信您使用的是maven(或Gradle)
无论如何,请确保您可以使用实体类安装实体项目:
cd /path/to/entity-project/
mvn install -DskipTests
在spring项目的maven文件中,包含到实体项目中
第3部分(共3部分):使用EntityScan注释
这只是我的爱好,但我更喜欢使用BasePackageClass而不是basePackage
@SpringBootApplication
@EntityScan(basePackageClasses = {Entity1.class})
// use basePackageClasses to avoid type errors
@Import({com.a.b.EntityConfig.class}) // this is what you are missing
public class Applciation
{
public static void main(String args[])
{
SpringApplication.run(Applciation.class, args);
}
}
中提琴 我可以和你联系。我为此花了无数个小时 我将把你的问题分成3部分(我将使用“实体项目”和“spring项目”来指包含实体类的项目和试图合并实体类的主项目): 第1部分,共3部分:确保实体类在实体项目中公开 在实体项目的根目录下创建配置
package com.a.b
@Configuration
@Import ({Entity1.class, Entity1Repo.class, Entity1Key.class,
Entity2.class, ... })
class EntityConfig {}
第2部分,共3部分:确保实体类位于spring项目的类路径中
因为您使用的是SpringBoot,所以我确信您使用的是maven(或Gradle)
无论如何,请确保您可以使用实体类安装实体项目:
cd /path/to/entity-project/
mvn install -DskipTests
在spring项目的maven文件中,包含到实体项目中
第3部分(共3部分):使用EntityScan注释
这只是我的爱好,但我更喜欢使用BasePackageClass而不是basePackage
@SpringBootApplication
@EntityScan(basePackageClasses = {Entity1.class})
// use basePackageClasses to avoid type errors
@Import({com.a.b.EntityConfig.class}) // this is what you are missing
public class Applciation
{
public static void main(String args[])
{
SpringApplication.run(Applciation.class, args);
}
}
中提琴 在类似的帖子上查看我的答案,希望它能帮助你:在类似的帖子上查看我的答案,希望它能帮助你: