tutorial proyecto problemas pasar oxygen instalar español errores convertir con compilar como agregar java maven glassfish application.xml

java - problemas - Maven no reconoce EJB como dependencia del proyecto cuando intenta definir el módulo



pasar proyecto java a maven (1)

La respuesta terminó siendo bastante simple, y me estoy pateando un poco por eso. En el archivo pom de webapp, solo tuve que agregar la línea del alcance a la dependencia ejb:

<dependency> <groupId>com.groupId</groupId> <artifactId>webservice-service-ejbs</artifactId> <version>${project.version}</version> <type>ejb</type> <scope>provided</scope> </dependency>

Con esto, podría mantener la dependencia ejb en el pom ear, application.xml generado correctamente y glassfish 3.1.1 no se confundió pensando que había múltiples clases ejb con el mismo nombre.

EDITAR: Así es como se ve la dependencia ejb en el pomo del oído

<dependency> <groupId>com.groupId</groupId> <artifactId>webservice-service-ejbs</artifactId> <type>ejb</type> </dependency>

Gracias a aquellos que me ayudaron.

Hoy actualicé mi servidor local de Glassfish a 3.1.1 en preparación para la actualización de los servidores de mi compañía a la misma versión. Estoy intentando convertir mi proyecto de servicio web para jugar bien con el nuevo servidor, y he llegado a un bloqueo de ruta.

En el archivo pom de mi oído, anteriormente tenía la webapp y el ejb listados como dependencias. En el pom de la aplicación web, también mencioné el ejb como una dependencia. Al intentar implementar esta configuración en Glassfish 3.1.1, recibí este error:

Ocurrió un error durante la implementación: Excepción al desplegar la aplicación [ear]: no se puede resolver la referencia Local ejb-ref name = name, interfaz local 3.x = interfaz, ejb-link = null, lookup =, mappedName =, jndi-name =, refType = Session porque hay 2 ejbs en la aplicación con interfaz de interfaz. Algunas de las causas posibles: 1. La clase de bean EJB se empaquetó en una biblioteca ear lib (oa través de cualquier otro mecanismo de biblioteca que hace que la biblioteca sea visible para todos los módulos de componente), esto hace que todos los módulos de componente incluyan esta clase de bean indirectamente. 2. La clase de bean EJB se empaquetó en un módulo de componente que hace referencia al EJB, ya sea directa o indirectamente a través de Manifest, WEB-INF / lib. La clase de bean EJB solo debe empaquetarse en el módulo ejb que declara y no en los módulos de referencia. Los módulos de referencia solo deben incluir interfaces EJB. Consulte server.log fo .... msg.seeServerLog

Básicamente, creo que está diciendo que, debido a que tengo el EJB enumerado como una dependencia en dos áreas diferentes, Glassfish 3.1.1 no sabe qué dependencia buscar. Esto no fue un problema en 2.1.1. Debido a esto, eliminé la dependencia en el oído, ya que aún sería parte del pom efectivo de la oreja.

Sin embargo, ahora cuando el oído genera el archivo application.xml, omite toda la información ejb del archivo. Puedo implementar la aplicación muy bien ahora, pero cuando intento ejecutar cualquier cosa, obtengo NameNotFoundExceptions con respecto a los ejbs.

Intenté agregar los módulos ejb al ear pom manualmente con la etiqueta, pero cuando trato de compilar el proyecto aparece el mensaje de error:

Artifact [ejb] no es una dependencia del proyecto.

Esto a pesar del hecho de que cuando miro el pom efectivo para el oído puedo ver el ejb listado como una dependencia.

¿Cómo puedo generar el archivo application.xml correctamente mientras sigo cumpliendo con el conjunto de reglas más rígido de Glassfish 3.1.1?

¡Avíseme si necesita más información y gracias por la ayuda!