Uma das práticas que o Maven incentiva é especificar e fazer referência a variáveis para evitar a repetição de um mesmo valor em vários locais diferentes. Desse modo, para acessar a variável predefinida project.basedir, você deve referenciá-la no arquivo POM como
- B)${project.basedir}
Certa, pois essa é a sintaxe padrão do Maven para referenciar propriedades predefinidas e variáveis do projeto.
- C)`project.basedir`
Errada, porque crases não são a forma de interpolação de variáveis no Maven.
- D)%project.basedir%
Errada, porque o Maven não utiliza porcentagem para esse tipo de referência.
- E)#(project.basedir)
Errada, porque parênteses com # não correspondem à sintaxe de propriedades do Maven.
Gabarito: B
No Maven, variáveis predefinidas e propriedades do projeto são acessadas por interpolação, isto é, com a sintaxe de placeholder entre chaves e com cifrão. Isso serve para evitar repetição e deixar o POM mais limpo, especialmente quando o mesmo valor aparece em vários pontos do arquivo. A lógica é simples: o Maven lê a propriedade e substitui pelo valor correspondente durante a construção do projeto. No caso da variável predefinida project.basedir, a forma correta de referência no POM é exatamente ${project.basedir}. O cifrão indica que você quer interpolar uma propriedade, e as chaves delimitam o nome dela. Sem essa forma, o Maven não interpreta o texto como variável, apenas como um caractere comum. As demais alternativas tentam imitar uma sintaxe de referência, mas fogem do padrão usado pelo Maven. Em questões de FGV, é muito comum trocar o símbolo de interpolação por sinais de outras linguagens ou por uma escrita “parecida”, justamente para testar se você conhece a notação correta. Aqui não tem mistério: Maven gosta de ${nomeDaPropriedade}.