Exécuter la commande jar exclure les fichiers

j'ai suivi L'Outil D'Archivage Java mais je n'ai pas trouvé comment exclure les dossiers.

Par exemple, j'ai les fichiers de la copie de travail de répertoire:

workingcopy
--src
  --.svn
  -- com
--.svn
--WebContent

je voudrais compiler et créer jar uniquement des classes sous src à l'exclusion de tous les dossiers de départ .svn répertoire. Je veux l'exécuter à partir de cmdjar -cf test.jar etc..

Comment puis-je le faire?

10
demandé sur Sean Patrick Floyd 2011-01-04 10:50:45

6 réponses

Cela pourrait être une solution pratique pour votre problème: il ne sera pas exclure le répertoire subversion (répertoires) mais n'inclut que des fichiers de classe (en supposant que vous ne pas mettre la classe des fichiers sous contrôle de version):

jar -cf test.jar *.class

autres améliorations: séparer le code des fichiers de classe. Vous ne voulez pas vérifier dans les fichiers de classe (construire des artefacts) de toute façon:

workingcopy
--src
  --.svn
  -- com  // only *.java files in here and below
--.svn
--WebContent
--bin
  --com   // only *.class files in here and below
2
répondu Andreas_D 2011-01-04 08:14:35

Cela peut être fait avec une commande:

jar cf test.jar `find . -not -path "*/.svn/*" -not -type d`

Le problème jar c'est que, si le répertoire est adopté, il sera ajouté de manière récursive contenu. Notre but est donc de ne transmettre que les fichiers et seulement ceux qui n'en ont pas.svn ' substring dans le chemin. À cette fin find la commande est utilisée avec 2 conditions:

  1. -not -path "*/.svn*" filtre tous les fichiers svn
  2. -not -type d filtre tous les annuaires

ceci exclura cependant les répertoires vides du bocal.

19
répondu silnijlos 2012-06-22 01:13:14

il existe un concept appelé Export dans SVN. si vous utilisez que vous obtiendrez la structure sans le .dépôt svn. Elle est légèrement différente de la Check-Out.

après cela, vous devez être capable de faire une commande jar régulière à partir de ce répertoire au lieu du répertoire de dépôt.

1
répondu vasan ramani 2011-08-09 22:25:46

C'est facilement réalisable (avec beaucoup d'autres choses) par construire des outils comme maven et ant et gradle

1
répondu Raghuram 2015-05-16 09:06:30

Il ne ressemble pas à le bocal programme par lui-même sera en mesure de le faire. Vous aurez besoin d'ajouter à un autre type de script pour accomplir ce que vous cherchez.

on dirait que vous utilisez windows, donc je pense que vous pourriez écrire dans ces pièces manquantes de cette façon.

J'espère que cela vous aidera.

0
répondu javamonkey79 2011-01-04 08:08:27

Comme dit par javamonkey79, je ne tthink vous pouvez le faire juste avec le jar outil en lui-même. Ce que vous devriez faire, c'est envisager ant et son pot tâche.

0
répondu Valentin Rocher 2017-05-23 12:25:57