JPA: Невозможно разрешить файл сопоставления с явным именем в JavaSE - PullRequest
0 голосов
/ 29 ноября 2018

Я создаю небольшую программу для переноса данных из другой системы, которой мы не владеем, в пользовательскую, которую мы создаем внутри нашей компании.Я использую IntellJ с Maven, но похоже, что ошибка возникает из целевой папки после сборки, так как кажется, что она не может найти папку, и когда я просматриваю ее внутри, Intellij выдает мне ошибку.

persistence.xmlв src / я немного вырезал, чтобы не переполнять этот пост большим изображением.Persistence.xml in src/

Вот небольшой скриншот вывода после компиляции, поскольку вы можете видеть, что файлы размещены там, где они принадлежат.

Output after compile

И когда я проверяю файл persistence.xml внутри папки, здесь Intellij говорит, что файлы не могут быть разрешены.

target folder persistence.xml

Это не оригинальное расположение этих XML-файлов, так как они были сгенерированы средой IDE в пакете проекта edu.apde.f5.model. $, Сначала они не были включены в сборку, поэтому я переместил их в ресурсы/ META-INF / etc путь, и они появились, но все равно выдает ту же ошибку.Также пробовал с путем META-INF / $ project-mapping и до сих пор ничего.

Ошибка, полученная в выводе, это ошибка, которую я получаю после попытки запустить проект, это происходит, когда я вызываю Entity Manager ивызвать "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

Ответы [ 3 ]

0 голосов
/ 19 мая 2019

Попробуйте указать файл сопоставления в META-INF / msschool-mapping / ScFamiglia.xml Es.

<mapping-file>META-INF/msschool-mapping/yourorms*.xml</mapping-file>
0 голосов
/ 20 мая 2019

Я решил это, добавив перед каждым символом <mapping-file></mapping-file> перед src начальный символ "/".

0 голосов
/ 30 ноября 2018

Classpath должен указывать на папку, содержащую src / main / resources / META-INF / msschool-mapping / ScReligion.xml.

Другой вариант - изменить запись в файле сопоставления, указав нафайл относительно существующего пути к классам.

Другой вариант - указать ему абсолютный путь к файлу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...