Я переношу приложение ejb 1.0 в приложение ejb 3.1. Текущее приложение работает в WebLogic Server Version: 12.1.3.0.0 на jdk 8. Для POC я выбрал один сеансовый компонент и один компонент сущности и обновил до 3.1, предоставив обновленный ejb-jar.xml, orm.xml и настойчивость .xml (ниже).weblogic 12c Целевое задание для команды обработки [xX] [mM] [lL] "не разрешено
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="myPersistenceUnit" transaction-type="JTA">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>java:/myDataSource</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="hibernate.show_sql" value="false"/>
<property name="useColumnNamesInFindColumn" value="true"/>
<property name="useOldAliasMetadataBehavior" value="true"/>
</properties>
</persistence-unit>
</persistence>
Однако я получаю ошибку синтаксического анализа XML ниже:
weblogic.application.ModuleException: org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 6; The processing instruction target matching "[xX][mM][lL]" is not allowed.
at weblogic.application.internal.ExtensibleModuleWrapper.prepare(ExtensibleModuleWrapper.java:114)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:100)
at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:175)
at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:170)
at weblogic.application.utils.StateMachineDriver$ParallelChange.run(StateMachineDriver.java:80)
at weblogic.work.ContextWrap.run(ContextWrap.java:40)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:548)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)
Caused by: org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 6; The processing instruction target matching "[xX][mM][lL]" is not allowed.
Я подтвердил, что persistence.xml находится в моем каталоге EJB-банку/META-INF. Если я удалю persistence.xml из моего ejb.jar, ошибка исчезнет, происходит просмотр сеансового компонента, а сущность bean persistence терпит неудачу. Поэтому я предполагаю, что ошибка связана с persistence.xml. Я сохранил persistence.xml в формате utf-8. Я также убедился, что перед <?
пробелов нет, как это было предложено некоторыми сообщениями. Любые указатели?