2010-12-02 41 views
0

Bonjour J'utilise-plugin maven2-xdoclet2 pour générer les applications de mise en veille prolongéeSuppression des ressources générées à partir d'un fichier jar

La configuration de XDoclet est quelque chose de similaire à ceci:

<plugin> 
    <groupId>org.codehaus.xdoclet</groupId> 
    <artifactId>maven2-xdoclet2-plugin</artifactId> 
    <version>2.0.7</version> 
    <executions> 
     <execution> 
      <id>xdoclet</id> 
      <phase>generate-sources</phase> 
      <goals> 
      <goal>xdoclet</goal> 
      </goals> 
     </execution> 
    </executions> 
    (... dependencies ...) 
    <configuration> 
     <configs> 
      <config> 
      <components> 
       <component> 
       <classname>org.xdoclet.plugin.hibernate.HibernateMappingPlugin</classname> 
       <params> 
        <version>3.0</version> 
       </params> 
       </component> 
      </components> 
      <params> 
       <destdir>${project.build.directory}/classes</destdir> 
      </params> 
      </config> 
      </configs> 
     </configuration> 

Quand je lance

mvn clean generate-resources 

Il se la chose suivante:

tree -L 2 target/classes/ 
target/classes/ 
|-- com 
| `-- company 
|  `-- (the mappings generated) 
`-- generated-resources 
    `-- xdoclet 
     `-- com 
      `-- company 
       `-- (the mappings generated) 

Donc ce que je veux éviter est d'avoir le répertoire "generated-resources" dans le fichier jar.

Comment puis-je faire cela? J'ai fait quelques recherches google sans trop de chance.

Répondre

0

J'ai finalement déménagé de maven2-xdoclet2-plugin pour xdoclet-maven-plugin et cela a fonctionné comme prévu (je aussi avoir quelques problèmes avec la génération de cartographie mise en veille prolongée).

 <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>xdoclet-maven-plugin</artifactId> 
      <executions> 
       <execution> 
        <id>xdoclet</id> 
        <phase>generate-resources</phase> 
        <goals> 
         <goal>xdoclet</goal> 
        </goals> 
       </execution> 
      </executions> 
      <configuration> 
       <tasks> 
        <hibernatedoclet 
         destdir="${project.build.outputDirectory}" 
         mergeDir="${project.basedir}/src/main/resources/hibernate"> 
         <fileset dir="${project.basedir}/src/main/java" 
          includes="**/domain/**/*.java" /> 
         <hibernate version="3.0" /> 
        </hibernatedoclet> 
       </tasks> 
      </configuration> 
     </plugin> 
0

Vous obtenez les fichiers de mappage dans le fichier JAR car les fichiers de mappage sont générés dans le mauvais répertoire de sortie. Vous avez configuré:

<destdir>${project.build.directory}/classes</destdir> 

Ainsi, les fichiers de mappage seront générés dans le dossier target/classes/ qui est utilisé pour construire le fichier de sortie JAR. Essayez un autre répertoire comme:

<destdir>${project.build.directory}/generated</destdir> 
+0

Cela n'a pas fonctionné comme prévu :( – feniix