Je souhaite remplacer un élément dans un fichier jar/zip existant lors de la construction de maven. Quel est le moyen le plus facile d'y parvenir? Je vous remercie.Maven - Remplacer un fichier dans un bocal
Répondre
Je ne pense pas qu'il existe un plugin dédié pour le faire, mais j'imagine que vous pouvez utiliser le exec plugin et les informations de Updating .class file in jar pour accomplir cela.
Mon préféré pour ce genre de tâches est maven-antrun-plugin ce qui vous apporte une fonctionnalité complète ant.
Vous pouvez l'utiliser comme ceci:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<id>repack</id>
<phase>compile</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<!-- note that here we reference previously declared dependency -->
<unzip src="${org.apache:common-util:jar}" dest="${project.build.directory}/tmp"/>
<!-- now do what you need to any of unpacked files under target/tmp/ -->
<zip basedir="${project.build.directory}/tmp" destfile="${project.build.directory}/common-util-modified.jar"/>
<!-- now the modified jar is available -->
</target>
</configuration>
</execution>
</executions>
</plugin>
Mais rappelez-vous - jamais de fichiers modifier dans votre dépôt local - dans cet exemple pointé par ${org.apache:common-util:jar}
. Cela affecterait vos constructions ultérieures de tous vos projets sur le même ordinateur (= contre le même référentiel local).
De telles constructions sont également non reproductibles (ou difficiles à reproduire) sur d'autres machines.
Je préfère même utiliser le plugin 'antrun' avec la commande' jar uf fichier-fichier d'entrée (s) 'comme décrit dans http://docs.oracle.com/javase/tutorial/deployment/jar/update.html – Vince
- 1. maven pas emballage dépendances dans un bocal
- 2. Un bocal nécessite un autre bocal
- 3. MANIFEST.MF dans un bocal
- 4. Chargement d'une propriété dans un bocal
- 5. Java Jar dans un bocal
- 6. Remplacer un fichier source dans la compilation maven
- 7. Lecture du fichier de ressources dans un bocal
- 8. Charger une ressource contenue dans un bocal
- 9. Définition du fichier de clés de Grizzly pour utiliser un fichier jks dans un bocal
- 10. Maven Mapper un fichier
- 11. joindre un dossier de fichiers dans un bocal
- 12. Joindre uniquement un contenu du dossier au bocal
- 13. Exécuter un bocal avec un des propriétés externes
- 14. Lire un fichier dans une propriété Maven
- 15. référencement/inclusion de fichiers xsd dans un bocal
- 16. Comment ajouter un fichier local dans un projet maven?
- 17. Copier un fichier d'un projet à un autre dans maven
- 18. Comment valider un fichier SVN dans un plugin Maven?
- 19. Remplacer une ligne dans un fichier texte
- 20. Comment remplacer un fichier unix dans Powershell?
- 21. Comment remplacer certains octets dans un fichier?
- 22. Comment remplacer un fichier journal dans log4j?
- 23. chaîne remplacer dans un fichier avec php
- 24. Remplacer une ligne entière dans un fichier
- 25. Comment remplacer quelque chose dans un fichier
- 26. Comment remplacer un fichier dans MongoDB Gridfs?
- 27. Remplacer des mots dans un fichier
- 28. Remplacer une ligne dans un fichier
- 29. Remplacer les balises GString dans un fichier
- 30. Remplacer une ligne dans un fichier texte
Peut-être que vous devriez donner plus de détails, comme expliquer votre problème. Qui sait, il peut y avoir une solution sans avoir besoin de recourir à cela! – Raghuram