2013-06-26 2 views
0

다음 설정 : 웹 프로젝트와 2 개의 오버레이가 있습니다. 그래서 나는 3 개의 다른 전쟁 파일을 가지고있다. 이제는 테스팅 목적으로 프로덕션 환경에서 사용되는 기본 구성 (bean, 특성 파일, web.xml 대체)이 있습니다. 때로는 새 기능을 프로그래밍 할 때 테스트 용으로 구성 값을 설정하고 잊어 버린 값은 낡은 환경에 도달하고 그 값은 BAD입니다.종속성이 다른 maven war 플러그인 분류 자 ​​

이제 우리는 하나 또는 그 이상의 두 개의 구성 프로젝트를 얻으려고합니다. 하나는 모든 기본값을 갖고 다른 하나는 테스트 용입니다. 아이디어는 분류자를 사용하는 3 개의 웹 프로젝트 각각에 대해 추가 war 파일을 만드는 것이 었습니다.

예를 들어 모든 기본값과 myapp.war 파일 및 myapp-dev.war 파일에있는 myapp.config.dev 이슈가 들어있는 myapp.config 아티팩트가 있어야합니다.

나는 아직도 인터넷에 많은 검색을 해본 경험이 없기 때문에, 이것이 메이븐 워즈 플러그인이나 메이븐 워스트 플러그인으로 어떻게 달성 할 수 있는지에 대한 해결책을 찾지 못했다. 또한 이것이이 "기능"을 구현하는 올바른 방법인지는 모르겠습니다.

감사합니다.

답변

1

환경에 따라 다른 아티팩트를 작성하지 마십시오. 이상적으로는 테스트 환경에서 테스트 한 것과 동일한 전쟁을 전개하려고합니다. 그렇지 않으면 당신은 테스터가 찾지 못했던 버그를 얻게 될 것입니다. 빌드의 버그로 인해 전쟁이 테스트 전쟁과 약간 다르기 때문입니다.

사람들은 일반적으로 가능한 한 적은 파일에 환경 특정 구성을 배치합니다 . 이상적으로 하나 개의 파일, 그리고 여러 사본을 :

db-config-dev.properties 
db-config-test.properties 

모든 environemnts에서 응용 프로그램 서버 시작에 시스템 속성을 추가 같은 것을 수행

-Dcom.company.environment=test 

을 마지막으로 하나 개 단일 전쟁 모든 환경에서 동일한 방식으로 작동합니다. db-config를로드하고 사용합니다. $ {com.company.environment} .properties