2012-02-25 3 views
1

Я получаю сообщение об ошибке при создании приложения j2ee в радиане с сервером Websphere от IBMorg.xml.sax.SAXParseException

Caused by: org.xml.sax.SAXParseException: cvc-complex-type.3.1: Value '2.0' of attribute 'version' of element 'persistence' is not valid with respect to the corresponding attribute use. Attribute 'version' has a fixed value of '1.0'. 
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) 
at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source) 
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) 
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) 
at org.apache.xerces.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(Unknown Source) 
at org.apache.xerces.impl.xs.XMLSchemaValidator.reportSchemaError(Unknown Source) 
at org.apache.xerces.impl.xs.XMLSchemaValidator.processOneAttribute(Unknown Source) 
at org.apache.xerces.impl.xs.XMLSchemaValidator.processAttributes(Unknown Source) 
at org.apache.xerces.impl.xs.XMLSchemaValidator.handleStartElement(Unknown Source) 
at org.apache.xerces.impl.xs.XMLSchemaValidator.startElement(Unknown Source) 
at org.apache.xerces.jaxp.validation.ValidatorHandlerImpl.startElement(Unknown Source) 
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.ValidatingUnmarshaller.startElement(ValidatingUnmarshaller.java:85) 
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.SAXConnector.startElement(SAXConnector.java:113) 
at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source) 
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source) 
at org.apache.xerces.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(Unknown Source) 
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) 
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) 
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) 
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) 
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) 
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) 
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) 
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:202) 

EDIT: автогенерируемой persistence.xml показано ниже:

<?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="PLHService"> 
     <class>plh.jpa.entity.User</class> 
    </persistence-unit> 
</persistence> 

Я попытался добавить параметры соединения в persistence.xml. Он не делает разницы
я проверил статью в http://forum.springsource.org/showthread.php?89055-jpa-2-0-persistence-xml-does-not-validate, но я не использовал спящий режим

Путь сборки по умолчанию устанавливается в радиан и WebSphere 7.0.

+2

Вам необходимо отправить файл. Возможно, ваш 'persistence.xml'? Стекловатка 'SAXParseException' бесполезна; сообщение является единственной частью, помогающей нам. – beerbajay

+0

Имеет ли Websphere локальный каталог XML, который обеспечивает разрешение для 'xsi: schemalocation'? Если это так, это может переопределить внешнюю ссылку на XSD и обеспечить неправильную (v 1.0), которая приведет к ошибке, которую вы видите. –

+0

Значит, вы используете какую реализацию JPA и какую версию? OpenJPA? и версия, которая поддерживает только JPA1? – DataNucleus

ответ

2

Путь сборки по умолчанию установлен в раде и websphere 7.0.

По умолчанию Websphere 7.0 использует завершенную версию OpenJPA 1.0. Если вы хотите исправить это, либо используйте 1.0 в файле persistence.xml, либо switch the persistence provider в RAD и WAS, или вы можете в качестве альтернативы apply the JPA2.0 feature pack.

2

Поддерживает ли WebSphere 7.0 JPA 2.0.

Ответ нет !!. Как предложил Terrell, вам следует изучить использование пакета функций JPA 2.0, и в этом случае вы сможете использовать JPA 2.0.

Вы также должны смотреть на этот пост

websphere 7 and (application based) open-jpa 2

Я также хотел бы предложить вам посмотреть на wsjpaversion, чтобы увидеть поддержку JPA в наборе вверх.

http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=%2Fcom.ibm.websphere.jpafep.multiplatform.doc%2Finfo%2Fae%2Fae%2Frejb_wsjpaversion.html&resultof=%22newfeat%22%20

Надежда это предоставить вам хорошие указатели.