2009-12-24 11 views
8

Esiste una variabile in cui è possibile trovare la directory principale dell'applicazione Grails?Percorso radice dell'applicazione Grails

per esempio, ho una cartella denominata chart sotto \%root%\web-app\images\ dove ho messo le mie carte. Una volta schiero la mia domanda Grails sul molo, mi metterò FileNotFoundException perché il percorso principale diventa /srv/www/vhosts/domain-name/jetty-version/

vorrei sapere se c'è una variabile che restituisce il percorso di root (come /srv/www/vhosts/domain-name/jetty-version/webapps/myapp), e ci dovrebbe essere perché il CSS usa il percorso relativo bene.

+0

I indovina la mia domanda è: perché hai bisogno di arrivare al percorso di root? Puoi utilizzare l'URL/immagini/grafici relativi per ottenere anche i tuoi grafici, in questo modo ottenere il percorso di root sembra un lavoro extra in questo caso. –

+0

Ho usato l'URL relativo ma non ho trovato la cartella. nuovo file (".."). GetAbsolutePath() restituisce lo stesso risultato di System.properties ['base.dir'] Entrambi restituisce la cartella principale della cartella Jetty anziché la cartella dell'applicazione. –

+0

@ steve.yu, si prega di contrassegnare Martijn come risposta corretta mentre funziona e abbastanza semplice. – Athlan

risposta

10
System.properties['base.dir'] 
+3

In grails2.1 funziona in modalità dev locale ma non sembra funzionare in produzione – mozboz

15

risolto.

request.getSession().getServletContext().getRealPath("/") 

questo in realtà mi dà il percorso in cui la mia applicazione mette le immagini, css, WEB-INF, ecc cartelle.

9

so che è una vecchia questione, ma questo potrebbe funzionare se non si è in una richiesta HTTP:

ServletContextHolder.servletContext.getRealPath('/') 
+0

Welcome to Stack Overflow! Si prega di fare clic sul "?" dalla casella di testo la volta successiva pubblichi una risposta per vedere come formattare i post. –

2

Se si desidera stabilire questo è GSP provare questo:

${createLink(uri: '/')} 
+0

Oppure puoi usare anche questo $ {request.contextPath} –

+0

downvote perché la domanda era suh percorso e non URL – Bernhard

+0

Upvote perché il titolo della domanda mi ha portato direttamente da DuckDuckGo a una risposta che stavo cercando. "Questa risposta è utile", sì! –