Vad är filformatet VM?
.vm-filer innehåller Apache Velocity-mallar - textmallar på serversidan skrivna i Velocity Template Language (VTL). Velocity är en Java-baserad mallmotor som underhålls av Apache Software Foundation; .vm är dess standardfiländelse för mallar.
En Velocity-mall blandar statiskt utdatainnehåll (HTML, XML, SQL eller vanlig text) med VTL-direktiv och variabelreferenser som löses upp vid körning mot ett Java-kontextobjekt. Centrala VTL-konstruktioner inkluderar:
$variableeller${variable}- skriver ut ett värde från kontexten,#set( $x = 'value' )- tilldelar en variabel,#if/#else/#end- villkorliga utdatablock,#foreach( $item in $list )- iteration,#macro- definierar återanvändbara mallfragment,#parse/#include- bäddar in andra.vm-filer.
Velocity används i äldre Java-webbapplikationer, kodgeneratorer, system för e-postmallar och Apache Maven-arketyper. Motorn kräver Java 8 eller senare (Velocity 2.x); den sista 1.x-versionen var Velocity 1.7 år 2010.
Obs: filändelsen .vm används också av VMware för virtuella maskiners minnes- och konfigurationsfiler - ett helt orelaterat och mer vanligt förekommande användningsområde. När en .vm-fil hittas på ett system med VMware installerat, tillhör den nästan säkert VMware, inte Velocity.
Moderna alternativ till Velocity inkluderar FreeMarker (Apache), Thymeleaf och Mustache.
Säkerhet & trygghet
RISK: LOWVanlig textfil; inte körbar i sig själv. I en Java-applikation kan Velocity-mallar anropa godtyckliga Java-metoder som är tillgängliga i kontexten, så skadliga .vm-filer i en serverapplikation kan orsaka server-side injection om opålitlig indata når motorn. Ingen risk för slutanvändare som öppnar filen i en textredigerare.
Formatdetaljer
i ett nötskal- VMware Virtual Machine Configuration - VMware Workstation och VMware Player använder .vm som en av flera filändelser för komponenter i virtuella maskiner; orelaterat till mallhantering.
- ScummVM Save Game - Äventyrsspelsemulatorn ScummVM använder .vm för sparfiler i vissa spelmotorer.
Program som öppnar VM-filer
Tekniska detaljer
djup specifikation| Utvecklare | Apache Software Foundation |
| Körningskrav | Java 8 eller senare (Velocity Engine 2.x); sista 1.x-versionen var Velocity 1.7 år 2010 |
| Filtyp | Textbaserad Velocity Template Language (VTL)-mall för serversidan |
| Kodning | UTF-8 som standard; konfigurerbar via `input.encoding` i `velocity.properties` |
| Typisk filstorlek | 1 KB - 200 KB |
| Variabelsyntax | `$variable` eller `${variable}` - värden som löses upp från ett Java Velocity-kontextobjekt vid körning |
| Direktivprefix | `#` - inbyggda direktiv: `#set`, `#if`/`#else`/`#end`, `#foreach`, `#macro`, `#parse`, `#include` |
| Inkludering av mallar | `#parse` bäddar in och utvärderar en annan `.vm`-fil; `#include` infogar den som rå obearbetad text |
| Vanliga användningsområden | Vyer i Java-webbapplikationer, kodgeneratorer, e-postmallar, Apache Maven-projektarketyper |
| Filändelsekonflikt | `.vm` används också av VMware för virtuella maskiners minnes- och konfigurationsfiler - orelaterat och mer förekommande |
| Noterbara alternativ | Apache FreeMarker (.ftl), Thymeleaf (.html-mallar), Mustache (.mustache) |
| Utdataformat | Valfritt textbaserat format: HTML, XML, SQL, vanlig text eller källkod - Velocity är oberoende av utdataformat |
| Släppt | 1999 (Velocity originally from Apache Jakarta project) |
| Senaste version | Apache Velocity Engine 2.4 (2023) |
| Öppen standard | Ja · royaltyfri |
| Specifikation | velocity.apache.org |
VM-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om VM-filer.