2011-08-31 18 views
6

Al compilar un jnlp con maven-webstart-plugin, encontré que las dependencias de tiempo de ejecución no se incluían en el jnlp.Maven-webstart-plugin para incluir dependencias de tiempo de ejecución

estoy usando una plantilla como esta:

<?xml version="1.0" encoding="utf-8"?> 
<jnlp spec="$jnlpspec" codebase="${url}/${appName}" href="${outputFile}"> 
    <information> 
     <title>${appName}</title> 
     <vendor>$project.Organization.Name</vendor> 
     <homepage href="${url}/${appName}"/> 
     <offline-allowed/> 
    </information> 
    <security> 
     <all-permissions/> 
    </security> 
    <resources> 
     <j2se version="$j2seVersion"/> 
     $dependencies 
    </resources> 
    <application-desc main-class="${main}" /> 
</jnlp> 

¿Cómo puedo incluir las dependencias de tiempo de ejecución? Bueno, puedo incluir todos individualmente:

<plugin> 
    <groupId>org.codehaus.mojo.webstart</groupId> 
    <artifactId>webstart-maven-plugin</artifactId> 
    <configuration> 
     <dependencies> 
     <includes> 
      <include>groupId:artifactId</include> 
      ... 
     </includes> 
     </dependencies> 
     ... 
    </configuration> 
    </plugin> 

... pero lo ideal, yo no quiero tener que acordarse de cambiar esto cada vez que agregar una dependencia de tiempo de ejecución de mi proyecto.

¿Hay alguna manera de indicar al complemento que incluya todas las dependencias de tiempo de ejecución?

Respuesta

1

Por lo tanto, resulta que el valor predeterminado es incluir todas las dependencias de compilación y tiempo de ejecución.

¿Qué estaba pasando?

Bueno, también estoy usando ant para implementar el jnlp en un servidor, y en el archivo ant, $dependencies se estaba configurando usando mvn:dependencies sin que el alcance se haya especificado como tiempo de ejecución. Por lo tanto, agregar el alcance cambia el conjunto de archivos $dependencies que se incorpora al archivo jnlp.

0

Utilizo una configuración pom principal donde uno de los módulos es el proyecto de inicio web. Me gusta mantener esto lo más mínimo posible. Tengo dependencias de compilación solo para una biblioteca de registro, el módulo de aplicación principal (otro módulo en la misma estructura padre pom) y archivos jar que incluyen binarios nativos. Además de estas dependencias de compilación, tengo algunas dependencias de prueba y una dependencia del sistema a un archivo local javaws.jar.

Parece que el complemento maven webstart incluye cualquier dependencia de tiempo de ejecución de los módulos que se incluye en el proyecto de inicio web como una dependencia de compilación. Puede ser una solución para usted dividir su proyecto de manera similar.

En cuanto a los binarios nativos. Tuve que modificar la plantilla de velocidad para obtener estas dependencias como nativelib en lugar de recursos jar.

+0

¿Podría compartir su solución con la plantilla de velocidad modificada para el parámetro nativelib, por favor? – rauch

Cuestiones relacionadas