2011-06-24 9 views
23

En Helios/m2eclipse, cuando generaba fuentes jaxb, se ponían en la ruta de origen de Eclipse cuando hacía una "Configuración de proyecto de actualización".¿Cómo se obtienen las fuentes generadas por JAXB en la ruta de construcción de Eclipse en m2e/Indigo?

Esto no ocurre con Indigo/m2e (lanzamiento inicial del 22 de junio de 2011). ¿Qué debo hacer para solucionar esto?

Estoy usando el plugin maven-jaxb2 estándar, versión 0.75.

+1

Después de ver los votos sobre esto, debería agregar lo que sé. No se dice explícitamente [aquí] (http://wiki.eclipse.org/M2E_plugin_execution_not_covered), pero sospecho que se requiere una extensión m2e para cualquier complemento que genere fuentes. He incluido [una solicitud de Bugzilla para maven-jaxb2-plugin] (https://bugs.eclipse.org/bugs/show_bug.cgi?id=350299). –

+0

Se ha escrito una extensión. No lo he intentado. Ver [comentario 12 en la solicitud de Bugzilla] (https://bugs.eclipse.org/bugs/show_bug.cgi?id=350299#c12). Si alguien más confirma que funciona, responde y aceptaré. –

Respuesta

25

En Eclipse vaya a "Instalar nuevo software" agregar el sitio de software: http://bitstrings.github.com/m2e-connectors-p2/releases/

Seleccione el "conector M2e para jaxb2"

Una vez que se ha instalado ese plugin el plugin jaxb2 debe integrar correctamente con el nuevo versión de m2e.

Esta información es de: https://bugs.eclipse.org/bugs/show_bug.cgi?id=350299

+0

También hay otro complemento disponible - ver [comentario 16, mismo informe bugzilla] (https://bugs.eclipse.org/bugs/show_bug.cgi?id=350299#c16). –

+0

¿Cuál es la diferencia entre los dos? – quantum

+1

El segundo complemento (http://bitstrings.github.com/m2e-connectors-p2/releases) también admite org.codehaus.mojo: jaxb2-maven-plugin además de org.jvnet.jaxb2.maven2: maven-jaxb2 -enchufar . –

1

A la espera de una solución para este problema, estoy usando la siguiente solución temporal:

Tenemos la jaxb-plugin y clases generadas en un módulo experto independiente. En eclipse, puedo "desactivar la naturaleza de Maven" solo en ese módulo. Entonces puedo usar Indigo con m2eclipse en el resto de nuestro gran proyecto maven y dependerá del jar para el módulo jaxb (debe construirse desde la línea de comandos). Esto funciona bien para mí ya que nuestro proyecto ya estaba organizado de esta manera.

6

Bueno, tienes que hacer clic derecho sobre el "blanco/Fuentes generadas/xjc y seleccione algo así como 'Build Path -> Usar como carpeta de origen'

1

Como una solución alternativa si no se puede conseguir el funcionamiento de conector M2e, puede agregar las fuentes generadas a la trayectoria de la estructura con construir-helper-maven-plugin:

<build> 
    ... 
    <plugins> 
    ... 
    <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>build-helper-maven-plugin</artifactId> 
     <version>1.7</version> 
     <executions> 
     <execution> 
      <id>add-source</id> 
      <phase>generate-sources</phase> 
      <goals> 
      <goal>add-source</goal> 
      </goals> 
      <configuration> 
      <sources> 
       <source>target/generated-sources/xmlbeans</source> 
      </sources> 
      </configuration> 
     </execution> 
     </executions> 
    </plugin> 
    ...  
    </plugins> 
    ... 
</build> 
0

para aquellos que están sufriendo con maven-jaxb2- plugin y Eclipse que no tienen attac fuente hed. El autor cambió del Sun to the Glassfish JAXB artifacts y el árbol de dependencias ha cambiado. Anteriormente, muchos JAR estaban sombreados en jaxb-xjc sin transitivos. Ahora, esto se ha eliminado y la dependencia transitiva anterior a tools.jar interrumpe la ejecución de Eclipse. Comience su Eclipse con una máquina virtual JDK y funcionará. (Probado Maven 3.3.9, Maven JAXB2 Plugin 0.13.1, reciente conector m2e JAXB2 y Eclipse Mars.2)

Cuestiones relacionadas