[SPRING] grails의 환경 특정 web.xml?
SPRINGgrails의 환경 특정 web.xml?
grails에서 환경 관련 web.xml 항목을 만드는 가장 좋은 방법은 무엇입니까?
로컬에서 실행을 중단 할 때만 제작에 대한 수정을해야합니다.
이견있는 사람?
해결법
-
==============================
1.Grails와 플러그인이 변경을 완료하면 'WebXmlEnd'이벤트에 대한 이벤트 핸들러로 scripts / _Events.groovy를 생성 할 수 있습니다. XML을 구문 분석하여 일반 검색 / 바꾸기 또는 DOM 메소드를 통해 XML을 업데이트하고 업데이트 된 파일을 작성합니다.
Grails와 플러그인이 변경을 완료하면 'WebXmlEnd'이벤트에 대한 이벤트 핸들러로 scripts / _Events.groovy를 생성 할 수 있습니다. XML을 구문 분석하여 일반 검색 / 바꾸기 또는 DOM 메소드를 통해 XML을 업데이트하고 업데이트 된 파일을 작성합니다.
import grails.util.Environment eventWebXmlEnd = { String filename -> if (Environment.current != Environment.PRODUCTION) { return } String content = webXmlFile.text // update the XML content = ... webXmlFile.withWriter { file -> file << content } }
-
==============================
2.내가 쓰고있는 해결책은 여기있다.
내가 쓰고있는 해결책은 여기있다.
먼저 템플릿을 설치하십시오.
grails install-templates
src / templates / war / web.xml에있는 web.xml을 사용자 정의하십시오. web_dev.xml과 web_prod.xml을 만들고 web.xml을 삭제하기로했습니다. web_prod.xml에 보안 제약 블록이 포함되기를 바랍니다. 어쨌든...
BuildConfig.groovy에 다음을 추가하십시오.
// ######################################################### // ## Can't use environment switching block because BuildConfig doesn't support it. // ## @url http://jira.grails.org/browse/GRAILS-4260 // ## So use this workaround: // ## @url http://death-head.ch/blog/2010/09/finally-solved-the-base-authentication-in-grails/ // ######################################################### switch ("${System.getProperty('grails.env')}") { case "development": if (new File("/${basedir}/src/templates/war/web_dev.xml").exists()) { grails.config.base.webXml = "file:${basedir}/src/templates/war/web_dev.xml" } break; default: if (new File("/${basedir}/src/templates/war/web_prod.xml").exists()) { grails.config.base.webXml = "file:${basedir}/src/templates/war/web_prod.xml" } break; }
행운을 빕니다!
-
==============================
3.아직 시도한 적이 없지만 현재 환경에 따라 BuildConfig.groovy에서 grails.config.base.webXml 매개 변수를 지정할 수 있어야합니다.
아직 시도한 적이 없지만 현재 환경에 따라 BuildConfig.groovy에서 grails.config.base.webXml 매개 변수를 지정할 수 있어야합니다.
사용 가능한 BuildConfig 설정 목록이 여기에 있습니다.
편집하다
사실,이 문제로 인해 이것은 앞으로 나아갈 수있는 방법이 아닙니다 :-( 아마 속성을 지나칠 수 있습니다 :
grails -Dgrails.config.base.webXml=/path/to/web.xml
그게 가능할까요?
from https://stackoverflow.com/questions/5888980/environment-specific-web-xml-in-grails by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 스프링 부트에 외부 리소스 폴더 추가 (0) | 2019.04.06 |
---|---|
[SPRING] Servlet 3.0 용 MVC 다중 파트 업로드 양식의 문자 인코딩을 변경하는 방법 (0) | 2019.04.06 |
[SPRING] 오류 페이지 - JSP에서 스택 추적을 인쇄하는 방법 (0) | 2019.04.06 |
[SPRING] H2 SQL 문법 예외 (0) | 2019.04.06 |
[SPRING] 전파 전달을 지원하는 Spring 트랜잭션 (0) | 2019.04.06 |