2009-06-17 12 views
11

Tengo dos módulos Maven, uno que termina como un contenedor y una guerra que depende de ese contenedor.Maven: agregar dependencia a la fuente del artefacto

Quiero que el módulo jar empaque su código fuente junto con las clases compiladas en el contenedor, para que el segundo módulo pueda acceder a él. He intentado usar maven-source-plugin, pero no estoy seguro de cómo agregar una dependencia en el resultado de eso. Parece que la dependencia por defecto va al jar compilado, y no al jarrón de código fuente (que termina con "-source.jar") que maven-source-plugin crea.

¿Cómo agrego el "-source.jar" como una dependencia, mientras aún se conserva la dependencia de las fuentes compiladas?

Respuesta

20

No he intentado esto, pero creo que debe crear dos perfiles en su proyecto. Uno que construye el jar principal. El otro que construye las fuentes jar. Desafortunadamente, no estoy exactamente seguro de cómo construirías ese perfil. No pude encontrar un buen ejemplo de eso hasta ahora.

(Accoding a los comentarios, que en realidad no necesita un perfil. Sólo puede utilizar el plugin de fuentes que desplegará las fuentes y ponerlos a disposición a través del clasificador fuentes)

En teoría, se' use el segundo perfil para adjuntar las fuentes al proyecto. Esto crea una segunda entrada en su repositorio para las fuentes que usan ese clasificador. Una vez que instale/despliegue las fuentes en su repositorio, debería poder incluir las fuentes como una dependencia utilizando la etiqueta del clasificador en la dependencia para especificar las fuentes directamente.

Por lo que tendría algo como esto en su POM webapp:

<dependencies> 
    <dependency> 
    <groupId>myGroup</groupId> 
    <artifactId>myJar</artifactId> 
    <version>4.0</version> 
    <type>jar</type> 
    </dependency> 
    <dependency> 
    <groupId>myGroup</groupId> 
    <artifactId>myJar</artifactId> 
    <version>4.0</version> 
    <type>jar</type> 
    <classifier>sources</classifier> 
    </dependency> 
</dependencies> 
+2

ni siquiera necesitan los perfiles, experta en-fuente-plugin hizo el "fuentes" clasificador disponible automáticamente. Acabo de agregar fuentes a la dependencia :) –

+3

Lo siento, me refiero , no ! –

+1

Teníamos la misma configuración para nuestro proyecto mGWT. Ponemos las interfaces AutoBean en un módulo maven "compartido", utilizado por los servicios en el servidor (servicios REST usando CXF) y en el cliente mGWT. El problema es que el objetivo de maven gwt: compilar necesita que las fuentes Y las versiones compiladas se completen. La configuración anterior funcionó bien para nosotros también. – peron

1

¿Intentó agregar el directorio src como un directorio de recursos en la sección de compilación? Eso debería copiar la fuente en el jar en build.

Cuestiones relacionadas