2009-12-24 13 views
8

Czy istnieje zmienna, w której mogę znaleźć katalog główny aplikacji Grails?Ścieżka dostępu do aplikacji Grails

na przykład, mam folder o nazwie chart pod \%root%\web-app\images\ gdzie Kładę wykresy w. Kiedy wdrożyć mojej aplikacji Grails na Jetty, dostanę FileNotFoundException ponieważ ścieżka korzeń staje /srv/www/vhosts/domain-name/jetty-version/

chciałbym wiedzieć jeśli istnieje zmienna, która zwraca ścieżkę główną (jak /srv/www/vhosts/domain-name/jetty-version/webapps/myapp), a powinna istnieć, ponieważ CSS używa względnej ścieżki. Wygenerowano:

+0

I Domyślam się, że moje pytanie brzmi: dlaczego musisz dojść do ścieżki głównej? Możesz użyć względnego adresu URL/obrazów/wykresów, aby dostać się do wykresów, a więc uzyskanie ścieżki głównej wydaje się w tym przypadku dodatkową pracą. –

+0

Użyłem względnego adresu URL, ale nie mogłem znaleźć folderu. nowy plik (".."). GetAbsolutePath() daje taki sam wynik, jak System.properties ['base.dir'] Oba zwraca folder główny folderu Jetty zamiast mojego folderu aplikacji. –

+0

@ steve.yu, zaznacz Martijn's jako poprawną odpowiedź, gdy działa i jest całkiem prosta. – Athlan

Odpowiedz

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

W grails2.1 działa to w lokalnym trybie deweloperskim, ale nie wydaje się działać w produkcji – mozboz

15

rozwiązana.

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

to rzeczywiście daje mi ścieżkę do miejsca, gdzie moja aplikacja umieszcza obrazy, CSS, WEB-INF itd foldery.

9

wiem, że to jest stara sprawa, ale to może działać, jeśli nie jesteś w żądaniu http:

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

Witamy w Stack Overflow! Kliknij "?" w polu tekstowym następnym razem, gdy opublikujesz odpowiedź, aby zobaczyć, jak formatować posty. –

2

Jeśli chcesz nawiązać to GSPs spróbuj tego:

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

Możesz też użyć tej zbytniej $ {request.contextPath} –

+0

downvote, ponieważ pytanie dotyczyło oh ścieżki, a nie URL – Bernhard

+0

Awans, ponieważ tytuł pytania poprowadził mnie prosto z DuckDuckGo do odpowiedzi, której szukałem. "Ta odpowiedź jest przydatna", tak! –

Powiązane problemy