Atualizar Projeto Grails 3.0.4 para 3.0.9
24/10/2015 19:31
0
Olá pessoal,

estou criando um projeto com Grails 3.0.4 e tive um problema para fazer o download e exibir uma imagem na tela.
ERRO:
MessageRequest processing failed; nested exception is org.grails.gsp.GroovyPagesException: Error evaluating expression [createLinkTo(controller:'vistoria', action:'showFoto', id:'1')] on line [377]: No such property: AssetPipelineConfigHolder for class: asset.pipeline.grails.CachingLinkGeneratorCaused byNo such property: AssetPipelineConfigHolder for class: asset.pipeline.grails.CachingLinkGenerator

De acordo com o link abaixo, parece que esse erro foi resolvido em versões posteriores do "asset-pipeline":
https://github.com/grails/grails-core/issues/9145

Então estou tentando atualizar a versão do Grails no meu projeto. Fiz o seguinte:

Baixei a ultima versão (3.0.9) no site do grails
Configurei a GRAILS_HOME
Atualizei o arquivo gradle.properties (alterado para grailsVersion=3.0.9)

Dúvida: Essas alterações são suficientes para dizer que meu projeto está atualizado para a versão 3.0.9?

Acredito que não pois o erro continua e analisando a pilha do erro é possível ver que o projeto ainda está utilizando o asset-pipeline-3.0.5:
...
at asset.pipeline.grails.CachingLinkGenerator.asset(CachingLinkGenerator.groovy:32) ~[asset-pipeline-3.0.5.jar:na]
...

Segue a minha implementação da exibição de imagem:


def showFoto(long id) {
def foto = Foto.get(id)
response.setContentType('image/jpg')
response.setHeader('Content-disposition', 'attachment;filename=imagem.jpg')
response.setHeader('Content-Length', foto.arquivo.length)
response.outputStream << foto.arquivo
}

//GSP:
<img src="${createLinkTo(controller:'vistoria', action:'showFoto', id:1)}"/>
Tags: versão, 3.0.4, asset-pipeline, grails3, AssetPipelineConfigHolder, createLinkTo, imagem


1
Resolvi o erro da seguinte forma:
Removi a linha: response.setHeader('Content-Length', foto.arquivo.length) (não existe esse método setHeades(String, Integer)
Troquei o createLinkTo por createLink. O primeiro está deprecated: http://grails.github.io/grails-doc/1.3.6/ref/Tags/createLinkTo.html

Mas resta a dúvida de como faz para atualizar a versão do projeto.



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto