J'essaye de construire un projet (guerre) dans lequel j'ai copié et modifié le fichier pom.xml à partir d'un autre morceau de code, et pour une raison quelconque quand je mvn clean package
le logiciel, il n'inclut pas les classes dans le fichier * -classes.jar associé. La version de Maven est 2.2.1 sur Ubuntu 12.10. Je suis très novice dans maven, et gère en grande partie par copier-coller à partir d'exemples, donc je n'ai pratiquement aucune idée de comment fonctionne mon pom (il est inclus en entier ci-dessous).maven 2.2 war build ne place pas de classes dans le fichier * -classes.jar associé
Le projet a un élément <packaging>war</packaging>
, et la section de configuration maven-war-plugin
dit archiveClasses
et attachClasses
, que je suppose est ce qui cause le fichier * -classes.jar à construire. Une fois que j'ai couru la construction, mon répertoire cible se présente comme suit:
[email protected]:~/Code/External/JavaServer2.0/target$ ls
apidocs generated-sources surefire sword2-server-1.0-classes.jar sword2-server-1.0-sources.jar
classes maven-archiver sword2-server-1.0 sword2-server-1.0-javadoc.jar sword2-server-1.0.war
Mais le sword2-server-1.0-classes.jar ne contient aucune des classes:
[email protected]:~/Code/External/JavaServer2.0/target$ jar tf sword2-server-1.0-classes.jar
META-INF/
META-INF/MANIFEST.MF
META-INF/maven/
META-INF/maven/org.swordapp/
META-INF/maven/org.swordapp/sword2-server/
META-INF/maven/org.swordapp/sword2-server/pom.xml
META-INF/maven/org.swordapp/sword2-server/pom.properties
Pendant ce temps tous les autres fichiers * .jar dans ce répertoire contiennent toutes les informations pertinentes pour les fichiers source (javadocs, source, etc, sont tous complets). Il me manque sans aucun doute une forme de configuration de plugin, mais je suis incapable de comprendre la documentation du plugin maven, donc toute aide est grandement appréciée.
La (presque) complète pom.xml (omis les dépendances réelles par souci de brièveté):
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.swordapp</groupId>
<artifactId>sword2-server</artifactId>
<version>1.0</version>
<packaging>war</packaging>
<name>SWORD v2 :: Common Server Library</name>
<description>
Common Server Library with interfaces to be implemented by servers
wishing to provide SWORD v2 support
</description>
<url>http://www.swordapp.org/</url>
<build>
<plugins>
<plugin>
<artifactId>maven-release-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>6</source>
<target>6</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>
true
</addDefaultImplementationEntries>
<addDefaultSpecificationEntries>
true
</addDefaultSpecificationEntries>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>default</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<id>default</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<archiveClasses>true</archiveClasses>
<attachClasses>true</attachClasses>
<packagingExcludes>WEB-INF/lib/*.jar</packagingExcludes>
<warSourceExcludes>WEB-INF/lib/*.jar</warSourceExcludes>
<webResources>
<resource>
<filtering>true</filtering>
<directory>${basedir}/src/main/webapp</directory>
<includes>
<include>WEB-INF/web.xml</include>
</includes>
</resource>
</webResources>
</configuration>
<executions>
<execution>
<phase>prepare-package</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
....
</dependencies>
</project>
parfait. Merci. –