Приложение Grails - установка корневого контекста для размещенного в сети приложения
У меня есть приложение, которое я хочу развернуть на сервере weblogic. Без добавления корня контекста он доступен через http://{IP}:{port}/{war fileName}
, Я пытаюсь настроить корневой контекст так, чтобы я мог сохранить номер версии в имени моего файла war, чтобы было совершенно очевидно, какая версия используется, но доступна через http://{IP}:{port}/{appName}
Я пробовал настройку app.context=/{appName}
в пределах application.properties и настройки grails.app.context = "/{appName}"
в рамках Config.groovy, как предлагали другие ответы, хотя ни один из них, кажется, не имеет никакого эффекта:
Как развернуть приложение Grails с другим контекстным путем
Как развернуть приложение Grails без контекстного пути?
Я пробовал запускать его локально, на сервере tomcat и на сервере weblogic - и это, похоже, имеет значение только при локальном запуске (да, это в рамках настроек производственной среды, а не только разработки).
Я также попытался добавить файл weblogic.xml в каталог WEB-INF с содержанием:
<?xml version="1.0" encoding="ISO-8859-1"?>
<weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/90">
<context-root>/YOUR_CONTEXT_ROOT</context-root>
</weblogic-web-app>
Это имеет желаемый эффект на сервере weblogic, но я пытался избежать размещения файлов, относящихся к weblogic, если он когда-либо был развернут на другом сервере.
Я что-то пропустил? Есть ли какие-либо другие изменения, которые необходимо внести, чтобы получить настройки в application.properties или Config.groovy для использования?
1 ответ
Вот пример, который работает для меня. Грааль 3.0.9. Tomcat 8. В файле application.yml. У меня промежуточный сервер настроен так.
staging:
localdir:
dataDir: 'C:\\java\\data\\'
grails.serverURL: 'http://xxx.xxx.xxx.xxx:8080/myappname'
server:
port: 8080
contextPath: '/myappname'
Затем в начальной загрузке я использую это так
grailsApplication.config.salesreplocator.dataDir