Aprendiendo estilo de ruta de hormiga


105

¿Dónde puedo encontrar recursos para aprender las convenciones de estilo de ruta de Ant ? Fui al sitio de Ant, pero no pude encontrar ninguna información sobre los estilos de ruta.


3
¿A qué te refieres con convenciones de estilo? ¿Te refieres a nombrar src para src y cfg para cosas de configuración?
Zak

Puede ser que esta respuesta también sea útil stackoverflow.com/q/40886239/355438
Lu55

Respuestas:


155

Patrones de ruta estilo hormiga que coinciden en :

La asignación coincide con las URL mediante las siguientes reglas:

  • ? coincide con un personaje
  • * coincide con cero o más caracteres
  • ** coincide con cero o más 'directorios' en una ruta
  • {spring:[a-z]+}coincide con la expresión regular [a-z]+como una variable de ruta denominada "primavera"

Algunos ejemplos:

  • com/t?st.jsp- coincide con com / test.jsp pero también com/tast.jspocom/txst.jsp
  • com/*.jsp- coincide con todos los .jsparchivos del comdirectorio
  • com/**/test.jsp- coincide con todos los test.jsparchivos debajo de la comruta
  • org/springframework/**/*.jsp- coincide con todos los .jsparchivos debajo delorg/springframework path
  • org/**/servlet/bla.jsp- partidos org/springframework/servlet/bla.jsppero también org/springframework/testing/servlet/bla.jspyorg/servlet/bla.jsp
  • com/{filename:\\w+}.jspcoincidirá com/test.jspy asignará el valor testa la filenamevariable

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


15
¿Hay alguna forma de hacer coincidir múltiples patrones dentro de una expresión de hormiga? como / com / *, /com/**/test.jsp en la misma expresión?
chrismarx

Este patrón /WEB-INF/tiles-config/*-tiles-definition.xml para tomar todos los archivos que terminan con -tiles-definition.xml no funciona para mí pero al mismo tiempo / WEB-INF / tiles-config / * .xml funciona. Entonces, ¿* coincide con cero o más caracteres correctamente?
Khader MA

la explicación dentro del spring-framework-referencemuy bien lo pone en un contexto: https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#mvc-ann-requestmapping-uri-templates .
Wolfson

40

Supongo que te refieres a cómo usar patrones de ruta

Si se trata de usar barras inclinadas o barras invertidas, estas se traducirán en separadores de ruta en la plataforma utilizada durante el tiempo de ejecución.


1
+1. Además, aquí se explica cómo navegar a esta parte de la documentación del Manual Ant: Tabla de contenido => "Conceptos y tipos" => [Lista de tipos] sección del menú izquierdo => "Tareas basadas en directorios" => [ Patrones] sección de la página .
informatik01

7

Coincidencia de patrones de estilo ANT

Comodines

La utilidad utiliza tres comodines diferentes.

+----------+-----------------------------------+
| Wildcard |            Description            |
+----------+-----------------------------------+
| *        | Matches zero or more characters.  |
| ?        | Matches exactly one character.    |
| **       | Matches zero or more directories. |
+----------+-----------------------------------+

1

La mayoría upvoted respuesta mediante @user11153el uso de tablas para un formato más legible.


La asignación coincide con las URL mediante las siguientes reglas:

+-----------------+---------------------------------------------------------+
| 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" |
+-----------------+---------------------------------------------------------+

Algunos ejemplos:

+------------------------------+--------------------------------------------------------+
| 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  |
+------------------------------+--------------------------------------------------------+

0

Como mencionó @ user11153, AntPathMatcher de Spring implementa y documenta los conceptos básicos de la coincidencia de patrones de ruta de estilo Ant.

Además, las API nio de Java 7 agregaron soporte integrado para la coincidencia de patrones básicos a través de FileSystem.getPathMatcher

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.