Как мне получить текущий рабочий каталог для Grails / Tomcat Webapp?

Я написал веб-приложение Grails для Tomcat, которое открывается и читает из базы данных Berkeley на ./data/transactions/foobar.

Этот код отлично работает в моей среде Eclipse.

Но когда я перемещаю его на сервер, он выдает это исключение. Я не уверен, где находится текущий рабочий каталог, когда я развертываю Grails в файле WAR в качестве веб-приложения webapps на сервере.

com.sleepycat.je.EnvironmentNotFoundException: (JE 4.1.10) ./data/transactions/Foobar
Home directory: ./data/transactions/Foobar ENV_NOT_FOUND: 
EnvironmentConfig.setAllowCreate is false so environment creation is not permitted, but there are no log files in the environment directory. Environment is invalid and must be closed.

Мой установочный каталог Tomcat на сервере Linux - / usr / share / tomcat6. Корневой каталог веб-приложений - / usr / share / tomcat6 / webapps. Каталог WAR установлен в подкаталоге с именем "bridge". Путь WAR к моему приложению Grails находится в / usr / share / tomcat6 / webapps / bridge

. Я попытался установить./ data / transaction / Foobar как в / usr / share / tomcat6 / webapps, так и в / usr / share / tomcat6 / webapps / bridge, безуспешно.

Я также попытался поместить ./data/transaction/Foobar в базовый каталог установки / usr / share / tomcat6, но тоже безуспешно.

Следующие ошибки я вижу на сервере Tomcat:

Error 500: Executing action [index] of controller[com.ecmhp.ecmdatabridge.generators.GenerateEmiDigestsController] 
caused exception: (JE 4.1.10) ./data/transactions/Foobar 
    Home directory: ./data/transactions/Foobar ENV_NOT_FOUND: 
    EnvironmentConfig.setAllowCreate is false so environment creation is not permitted, but there are no log files in the environment directory. Environment is invalid and must be closed.

Сервлет: grails

URI: /bridge/grails/generateEmiDigests/index.dispatch

Exception Message: (JE 4.1.10) ./data/transactions/Foobar 
Home directory: ./data/transactions/Foobar ENV_NOT_FOUND: 
EnvironmentConfig.setAllowCreate is false so environment creation is not permitted, but there are no log files in the environment directory. Environment is invalid and must be closed. 

Caused by: (JE 4.1.10) ./data/transactions/Foobar 
    Home directory: ./data/transactions/Foobar ENV_NOT_FOUND: 
    EnvironmentConfig.setAllowCreate is false so environment creation is not permitted, but there are no log files in the environment directory. Environment is invalid and must be closed.

Любая идея, как я могу установить текущий рабочий каталог для мой Tomcat WAR, чтобы он находил файлы Berkeley DB ./data/transaction? Или я могу узнать, в каком текущем рабочем каталоге запущено мое приложение Grails?

5
задан adeady 11 September 2014 в 19:39
поделиться