Отсутствующие значения в ejb-jar.xml

При попытке развернуть приложение mavenized entreprise (включая проекты war и jar) в Glassfish 4.0 (с использованием netbeans 7.3.1), у меня возникла аналогичная проблема, как в этот вопрос, в котором говорится, что jar недействителен, так как он не содержит ejb (что неверно, потому что мой jar приложения содержит 4 класса сущностей с соответствующими сессионными bean-компонентами и локальные интерфейсы). Поскольку решение в этом посте заключалось в том, чтобы добавить ejb-jar.xml, я сделал то же самое, добавив свой дескриптор развертывания, записанный следующим образом:

<?xml version="1.0" encoding="UTF-8"?>
   <ejb-jar xmlns = "http://java.sun.com/xml/ns/javaee" 
         version = "3.1"
         xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" 
         xsi:schemaLocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd">


    <enterprise-beans>

        <session>
            <ejb-name>EnginDao</ejb-name>
            <ejb-class>com.crystaleez.dao.EnginDao</ejb-class>
            <session-type>Stateless</session-type>
            <transaction-type>Container</transaction-type>
        </session>

        <session>
            <ejb-name>AdresseDao</ejb-name>
            <ejb-class>com.crystaleez.dao.AdresseDao</ejb-class>
            <session-type>Stateless</session-type>
            <transaction-type>Container</transaction-type>
        </session>

        <session>
            <ejb-name>AutomobilisteDao</ejb-name>
            <ejb-class>com.crystaleez.dao.AutomobilisteDao</ejb-class>
            <transaction-type>Container</transaction-type>
            <session-type>Stateless</session-type>
        </session>

        <session>
            <ejb-name>GaragisteDao</ejb-name>
            <ejb-class>com.crystaleez.dao.GaragisteDao</ejb-class>
            <transaction-type>Container</transaction-type>
            <session-type>Stateless</session-type>
        </session>


    </enterprise-beans>


</ejb-jar>

Итак, я получил следующее исключение, в котором говорится, что это исключение возникает при развертывании приложения, ejb-jar.xml имеет недопустимое содержимое и одно из значений '{"http://java.sun.com/xml/ns/javaee": перехватчики, "http://java.sun.com/xml/ns/javaee": взаимосвязи, "http://java.sun.com/xml/ns/javaee": дескриптор сборки, "http://java.sun.com/xml/ns/javaee": ejb-client-jar} ' ожидается (для меня это на французском, я не могу найти способ изменить регистрацию стеклянной рыбы в netbeans)

У меня нет ни одного из этих значений в моем проекте (на самом деле я не знаю, что такое перехватчик, ни другие требуемые значения, указанные в исключении) (я не знаю, почему ejb-jar.xml является обязательным и почему существует нет возможности сгенерировать его автоматически) мне просто нужно, чтобы мой проект был успешно развернут.

Спасибо за помощь !

Проблема может заключаться в том, что у вас другой порядок

<?xml version="1.0" encoding="UTF-8"?>
   <ejb-jar xmlns = "http://java.sun.com/xml/ns/javaee" 
         version = "3.1"
         xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" 
         xsi:schemaLocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd">


    <enterprise-beans>

        <session>
            <ejb-name>EnginDao</ejb-name>
            <ejb-class>com.crystaleez.dao.EnginDao</ejb-class>
            <session-type>Stateless</session-type>
            <transaction-type>Container</transaction-type>
        </session>

        <session>
            <ejb-name>AdresseDao</ejb-name>
            <ejb-class>com.crystaleez.dao.AdresseDao</ejb-class>
            <session-type>Stateless</session-type>
            <transaction-type>Container</transaction-type>
        </session>

        <session>
            <ejb-name>AutomobilisteDao</ejb-name>
            <ejb-class>com.crystaleez.dao.AutomobilisteDao</ejb-class>
            <transaction-type>Container</transaction-type>
            <session-type>Stateless</session-type>
        </session>

        <session>
            <ejb-name>GaragisteDao</ejb-name>
            <ejb-class>com.crystaleez.dao.GaragisteDao</ejb-class>
            <transaction-type>Container</transaction-type>
            <session-type>Stateless</session-type>
        </session>


    </enterprise-beans>


</ejb-jar>
и _2_ в последних двух объявлениях. Попробуйте следующее:


person Bardelman    schedule 23.10.2013    source источник


Ответы (1)


Я сделал то, что ты мне сказал, к сожалению, причина не в этом

    <session>
        <ejb-name>AutomobilisteDao</ejb-name>
        <ejb-class>com.crystaleez.dao.AutomobilisteDao</ejb-class>
        <session-type>Stateless</session-type>
        <transaction-type>Container</transaction-type>
    </session>

    <session>
        <ejb-name>GaragisteDao</ejb-name>
        <ejb-class>com.crystaleez.dao.GaragisteDao</ejb-class>
        <session-type>Stateless</session-type>
        <transaction-type>Container</transaction-type>
    </session>
person unwichtich    schedule 23.10.2013
comment
Серьезный: Исключение для развертывания приложения [tunmecanique-ear-1.0-SNAPSHOT]: org.xml.sax.SAXParseException; lineNumber: 16; columnNumber: 24; Описание развертывания META-INF / ejb-jar.xml в архиве [tunmecanique-ejb-1.0-SNAPSHOT_jar]. cvc-complex-type.2.4.a: Недействительное содержание элемента "Enterprise-beans". L'une des valeurs '{"http://java.sun.com/xml/ns/javaee ": перехватчики," http://java.sun.com/xml/ns/javaee ": отношения," http://java.sun.com/xml/ns/javaee ": дескриптор сборки," http://java.sun.com/xml/ns/javaee ": ejb-client-jar}" есть посещаемость. org.xml.sax.SAXParseException; lineNumber: 16; columnNumber: 24; Описание развертывания META-INF / ejb-jar.xml в архиве [tunmecanique-ejb-1.0-SNAPSHOT_jar]. cvc-complex-type.2.4.a: Недействительное содержание элемента "Enterprise-beans". L'une des valeurs '{"http://java.sun.com/xml/ns/javaee ": перехватчики," http://java.sun.com/xml/ns/javaee ": отношения," http://java.sun.com/xml/ns/javaee ": дескриптор сборки," http://java.sun.com/xml/ns/javaee ": ejb-client-jar}" есть посещаемость. на com.sun.enterprise.deployment.io.DeploymentDescriptorFile.read (DeploymentDescriptorFile.java:324) на com.sun.enterprise.deployment.io.DeploymentDescriptorFile.read (DeploymentDescriptorFile.java:245) на com.sun.enterprise.deployment. .archivist.Archivist.readStandardDeploymentDescriptor (Archivist.java:665) на com.sun.enterprise.deployment.archivist.Archivist.readDeploymentDescriptors (Archivist.java:391) на com.sun.enterprise.deployment.archivist.Arpen .java: 271) на com.sun.enterprise.deployment.archivist.Archivist.open (Archivist.java:280) на com.sun.enterprise.deployment.archivist.ApplicationArchivist.readModulesDescriptors (ApplicationArchivist.java:611) на com. sun.enterprise.deployment.archivist. ApplicationArchivist.openWith (ApplicationArchivist.java:229) в com.sun.enterprise.deployment.archivist.ApplicationFactory.openWith (ApplicationFactory.java:232) в org.glassfish.javaee.core.deployment.DolProvider.processDOL (DolProvider.processDOL (DolProvider.processDOL) 188) на org.glassfish.javaee.core.deployment.DolProvider.load (DolProvider.java:222) на org.glassfish.javaee.core.deployment.DolProvider.load (DolProvider.java:96) на com.sun.enterprise .v3.server.ApplicationLifecycle.loadDeployer (ApplicationLifecycle.java:878) на com.sun.enterprise.v3.server.ApplicationLifecycle.setupContainerInfos (ApplicationLifecycle.java:818) на com.sun.enterprise.vloy3.server.ApplicationLifecycle.deplicationLifecycle.deplication (ApplicationLifecycle.java:374) на com.sun.enterprise.v3.server.ApplicationLifecycle.deploy (ApplicationLifecycle.java:219) на org.glassfish.deployment.admin.DeployCommand.execute (DeployCommand.java:491) на com. sun.enterprise.v3.admin.CommandRunnerImpl $ 2 $ 1.run (CommandRunnerImpl .java: 527) в com.sun.enterprise.v3.admin.CommandRunnerImpl $ 2 $ 1.run (CommandRunnerImpl.java:523) в java.security.AccessController.doPrivileged (собственный метод) в javax.security.auth.Subject.doAs (Subject.java:356) в com.sun.enterprise.v3.admin.CommandRunnerImpl $ 2.execute (CommandRunnerImpl.java:522) - person Bardelman; 24.10.2013