Apprendre le style de chemin de fourmi

106

Où puis-je trouver des ressources pour apprendre les conventions de style de chemin Ant ? Je suis allé sur le site Ant lui-même, mais je n'ai trouvé aucune information sur les styles de chemin.

MDK
la source
3
Qu'entendez-vous par conventions de style? Voulez-vous dire nommer src pour src et cfg pour la configuration?
Zak
Peut-être que cette réponse serait également utile stackoverflow.com/q/40886239/355438
Lu55

Réponses:

156

Modèles de chemin de style fourmi correspondant à :

Le mappage correspond aux URL à l'aide des règles suivantes:

  • ? correspond à un caractère
  • * correspond à zéro ou plusieurs caractères
  • ** correspond à zéro ou plusieurs «répertoires» dans un chemin
  • {spring:[a-z]+}correspond à l'expression rationnelle [a-z]+comme variable de chemin nommée "spring"

Quelques exemples:

  • com/t?st.jsp- correspond à com / test.jsp mais aussi com/tast.jspoucom/txst.jsp
  • com/*.jsp- correspond à tous les .jspfichiers du comrépertoire
  • com/**/test.jsp- correspond à tous les test.jspfichiers sous le comchemin
  • org/springframework/**/*.jsp- correspond à tous les .jspfichiers sous leorg/springframework path
  • org/**/servlet/bla.jsp- allumettes org/springframework/servlet/bla.jspmais aussi org/springframework/testing/servlet/bla.jspetorg/servlet/bla.jsp
  • com/{filename:\\w+}.jspcorrespondra com/test.jspet attribuera la valeur testà la filenamevariable

http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/util/AntPathMatcher.html

user11153
la source
15
existe-t-il un moyen de faire correspondre plusieurs modèles dans une même expression de fourmi? comme / com / *, /com/**/test.jsp dans la même expression?
chrismarx
Ce modèle /WEB-INF/tiles-config/*-tiles-definition.xml pour prendre tous les fichiers se termine par -tiles-definition.xml ne fonctionne pas pour moi mais en même temps / WEB-INF / tiles-config / * .xml fonctionne. Est-ce que * correspond à zéro caractère ou plus?
Khader MA
l'explication dans le spring-framework-referencemet joliment dans un contexte: https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#mvc-ann-requestmapping-uri-templates .
Wolfson
40

Je suppose que vous voulez dire comment utiliser les modèles de chemin

S'il s'agit d'utiliser des barres obliques ou des barres obliques inverses, celles-ci seront traduites en séparateurs de chemin sur la plate-forme utilisée pendant l'exécution.

empileur
la source
1
+1. En complément, voici comment accéder à cette partie de la documentation depuis le manuel Ant: Table of Contents => "Concepts and Types" => [List of Types] left menu section => "Directory-based Tasks" => [ Section de la page Patterns] .
informatik01
7

Correspondance de motifs de style ANT

Caractères génériques

L'utilitaire utilise trois caractères génériques différents.

+----------+-----------------------------------+
| Wildcard |            Description            |
+----------+-----------------------------------+
| *        | Matches zero or more characters.  |
| ?        | Matches exactly one character.    |
| **       | Matches zero or more directories. |
+----------+-----------------------------------+
Un Jakhar
la source
1

La plupart upvoted réponse en @user11153utilisant des tables pour un format plus lisible.


Le mappage correspond aux URL à l'aide des règles suivantes:

+-----------------+---------------------------------------------------------+
| Wildcard        |            Description                                  |
+-----------------+---------------------------------------------------------+
| ?               | Matches exactly one character.                          |
| *               | Matches zero or more characters.                        |
| **              | Matches zero or more 'directories' in a path            |
| {spring:[a-z]+} | Matches regExp [a-z]+ as a path variable named "spring" |
+-----------------+---------------------------------------------------------+

Quelques exemples:

+------------------------------+--------------------------------------------------------+
| Example                      | Matches:                                               |
+------------------------------+--------------------------------------------------------+
| com/t?st.jsp                 | com/test.jsp but also com/tast.jsp or com/txst.jsp     |
| com/*.jsp                    | All .jsp files in the com directory                    |
| com/**/test.jsp              | All test.jsp files underneath the com path             |
| org/springframework/**/*.jsp | All .jsp files underneath the org/springframework path |
| org/**/servlet/bla.jsp       | org/springframework/servlet/bla.jsp                    |
|                       also:  | org/springframework/testing/servlet/bla.jsp            |
|                       also:  | org/servlet/bla.jsp                                    |
| com/{filename:\\w+}.jsp      | com/test.jsp & assign value test to filename variable  |
+------------------------------+--------------------------------------------------------+
KostasX
la source
0

Comme @ user11153 l'a mentionné, AntPathMatcher de Spring implémente et documente les bases de la correspondance de modèle de chemin de style Ant.

De plus, les API nio de Java 7 ont ajouté une prise en charge intégrée de la correspondance de modèle de base via FileSystem.getPathMatcher

romeara
la source