gpt4 book ai didi

java - JPA:无法解析 JavaSE 中显式命名的映射文件

转载 作者:太空宇宙 更新时间:2023-11-04 10:00:43 25 4
gpt4 key购买 nike

我正在制作一个小程序,用于将数据从我们不拥有的另一个系统迁移到我们公司内部制作的自定义系统。我将 IntelliJ 与 Maven 一起使用,但错误似乎来自构建后的目标文件夹,因为它似乎无法找到该文件夹​​,当我浏览其中时,Intellij 给我一个错误。

src/中的 persistence.xml 我删掉了一点,这样我就不会用大图像来夸大这篇文章。 Persistence.xml in src/

这是编译后输出的小屏幕截图,您可以看到文件放置在它们所属的位置。

Output after compile

当我检查文件夹内的 persistence.xml 时,Intellij 表示文件无法解析。

target folder persistence.xml

这不是这些 xml 文件的原始位置,因为它们是由 edu.apde.f5.model.$project 包内的 IDE 生成的,起初它们没有包含在构建中,所以我将它们移到 resources/META-INF/etc 路径中,它们出现了,但仍然给出相同的错误。还尝试了路径 META-INF/$project-mapping 但仍然没有任何结果。

输出中收到错误,这是我尝试运行项目后遇到的错误,当我调用实体管理器并调用“MsSchoolPersistenceUnit”时会发生这种情况

java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:297)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.hibernate.boot.MappingException: Unable to resolve explicitly named mapping-file : src/main/resources/META-INF/msschool-mapping/ScReligion.xml : origin(src/main/resources/META-INF/msschool-mapping/ScReligion.xml)
at org.hibernate.boot.model.process.internal.ScanningCoordinator.applyScanResultsToManagedResources(ScanningCoordinator.java:214)
at org.hibernate.boot.model.process.internal.ScanningCoordinator.coordinateScan(ScanningCoordinator.java:82)
at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.prepare(MetadataBuildingProcess.java:99)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<init>(EntityManagerFactoryBuilderImpl.java:232)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<init>(EntityManagerFactoryBuilderImpl.java:174)
at org.hibernate.jpa.boot.spi.Bootstrap.getEntityManagerFactoryBuilder(Bootstrap.java:76)
at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilder(HibernatePersistenceProvider.java:171)
at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernatePersistenceProvider.java:119)
at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernatePersistenceProvider.java:61)
at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:50)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:79)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54)
at edu.apde.f5.util.EntityManagerUtil.getEntityManager(EntityManagerUtil.java:12)
at edu.apde.f5.data.msschool.AlumnoRepository.fetchAll(AlumnoRepository.java:17)
at edu.apde.f5.main.Main.main(Main.java:10)
... 6 more
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE

最佳答案

类路径需要指向 src/main/resources/META-INF/msschool-mapping/ScReligion.xml 的包含文件夹。

另一个选项是修改映射文件条目以指向相对于现有类路径的文件。

另一个选项是为其提供文件的绝对路径。

关于java - JPA:无法解析 JavaSE 中显式命名的映射文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53528827/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com