В приложении чаш Грааля я должен загрузить файл под web-app/js, добавить префикс и поместить его в S3. Я испытываю затруднения при выяснении, как считать js файл способом, который будет работать в разработке (/web-app/js) и производстве (/js). Я делаю это из объекта области.
В контроллерах вы можете вызвать:
def jsFolder = grailsAttributes.getApplicationContext().getResource("js/").getFile()
, а затем перейти к jsFolder
.
Чтобы определить базу каталог работающего приложения Grails, используйте
String dir = applicationContent.getResource("/").getFile()
Получение пути js от службы немного сложно:
Вам необходимо реализовать интерфейс ApplicationContextAware
следующим образом:
class MyService implements ApplicationContextAware {
ApplicationContext applicationContext
Однако вызов этого код из доменного класса не является хорошей идеей (см. этот поток для некоторых пояснений), и я даже не уверен, возможно ли это, кроме как получить пути из ручных конфигураций
Надеюсь, это поможет.