2014-08-27 2 views
1

En utilisant Maven nous séparons actuellement en cours d'un fichier WAR en utilisant:Y at-il un moyen de réplication Maven attachClasses war Fonctionnalité du plugin dans Gradle?

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-war-plugin</artifactId> 
    <version>${maven-war-plugin.version}</version> 
    <configuration> 
     <packagingExcludes>WEB-INF/web.xml</packagingExcludes> 
     <attachClasses>true</attachClasses> 
     <filteringDeploymentDescriptors>true</filteringDeploymentDescriptors> 
    </configuration> 
</plugin> 

Est-il possible de reproduire cette fonctionnalité dans Gradle? L'objectif est de publier seulement les classes dans un .jar aux côtés de l'artefact principal de la guerre:

ghc-templates-2.29-javadoc.jar  14-Jan-2014 15:19 112.43 KB 
ghc-templates-2.29-sources.jar  14-Jan-2014 15:19 12.81 KB 
ghc-templates-2.29.war    14-Jan-2014 15:19 6.05 MB 
ghc-templates-2.29-classes.jar  14-Jan-2014 15:19 23.95 KB 

Répondre

3

Oui, il suffit d'exécuter jar tâche. Depuis le plugin War applique le plugin Java vous obtenez toutes les tâches régulières que vous auriez comme si c'était un projet java normal. Toutefois, cette tâche n'est pas incluse dans le graphique de dépendance par défaut lors de l'exécution assemble (voir le grade docs). Pour résoudre ce problème il suffit d'ajouter:

assemble { 
    dependsOn jar 
} 

En outre, selon votre exemple ci-dessus, si vous souhaitez ajouter un classificateur personnalisé dans le pot, vous pouvez le faire:

jar { 
    classifier = 'classes' 
} 
Questions connexes