¿Qué es el formato de archivo VM?
Los archivos .vm contienen plantillas de Apache Velocity - plantillas de texto del lado del servidor escritas en el Velocity Template Language (VTL). Velocity es un motor de plantillas basado en Java mantenido por la Apache Software Foundation; .vm es su extensión de archivo de plantilla predeterminada.
Una plantilla de Velocity mezcla contenido de salida estático (HTML, XML, SQL o texto plano) con directivas VTL y referencias a variables que se resuelven en tiempo de ejecución contra un objeto de contexto de Java. Las construcciones principales de VTL incluyen:
$variableo${variable}- muestra un valor del contexto,#set( $x = 'value' )- asigna una variable,#if/#else/#end- bloques de salida condicionales,#foreach( $item in $list )- iteración,#macro- define fragmentos de plantilla reutilizables,#parse/#include- incrusta otros archivos.vm.
Velocity se utiliza en aplicaciones web Java heredadas, generadores de código, sistemas de plantillas de correo electrónico y arquetipos de Apache Maven. El motor requiere Java 8 o posterior (Velocity 2.x); la última versión 1.x fue Velocity 1.7 en 2010.
Nota: la extensión .vm también es utilizada por VMware para archivos de configuración y memoria de máquinas virtuales - un uso completamente ajeno y más común de encontrar. Cuando se encuentra un archivo .vm en un sistema con VMware instalado, casi con seguridad pertenece a VMware, no a Velocity.
Las alternativas modernas a Velocity incluyen FreeMarker (Apache), Thymeleaf y Mustache.
Seguridad y protección
RIESGO: LOWArchivo de texto plano; no es ejecutable por sí mismo. En una aplicación Java, las plantillas de Velocity pueden llamar a métodos Java arbitrarios disponibles en el contexto, por lo que archivos .vm maliciosos en una aplicación de servidor podrían causar inyección del lado del servidor si una entrada no confiable llega al motor. No es un riesgo para los usuarios finales que lo abren en un editor de texto.
Detalles del formato
en pocas palabras- Configuración de máquina virtual de VMware - VMware Workstation y VMware Player utilizan .vm como una de las varias extensiones de archivos de componentes de máquinas virtuales; no relacionado con plantillas.
- Partida guardada de ScummVM - El emulador de juegos de aventura ScummVM utiliza .vm para archivos de estado guardado en algunos motores de juego.
Programas que abren archivos VM
Detalles técnicos
especificación profunda| Desarrollador | Apache Software Foundation |
| Requisito de ejecución | Java 8 o posterior (Velocity Engine 2.x); la última versión 1.x fue Velocity 1.7 en 2010 |
| Tipo de archivo | Plantilla de texto plano del lado del servidor en Velocity Template Language (VTL) |
| Codificación | UTF-8 por defecto; configurable mediante `input.encoding` en `velocity.properties` |
| Tamaño de archivo típico | 1 KB - 200 KB |
| Sintaxis de variables | `$variable` o `${variable}` - valores resueltos desde un objeto de contexto de Java Velocity en tiempo de ejecución |
| Prefijo de directiva | `#` - directivas integradas: `#set`, `#if`/`#else`/`#end`, `#foreach`, `#macro`, `#parse`, `#include` |
| Inclusión de plantillas | `#parse` incrusta y evalúa otro archivo `.vm`; `#include` lo inserta como texto bruto sin procesar |
| Casos de uso comunes | Vistas de aplicaciones web Java, generadores de código, plantillas de correo electrónico, arquetipos de proyectos Apache Maven |
| Conflicto de extensión | `.vm` también es utilizado por VMware para archivos de configuración y memoria de máquinas virtuales - no relacionado y más prevalente |
| Alternativas notables | Apache FreeMarker (.ftl), Thymeleaf (plantillas .html), Mustache (.mustache) |
| Formatos de salida | Cualquier formato basado en texto: HTML, XML, SQL, texto plano o código fuente - Velocity es agnóstico al formato de salida |
| Lanzado | 1999 (Velocity originally from Apache Jakarta project) |
| Última versión | Apache Velocity Engine 2.4 (2023) |
| Estándar abierto | Sí · libre de regalías |
| Especificación | velocity.apache.org |
Conversiones de VM
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos VM.