2016-06-22 7 views
0

여기 내 전쟁 파일의 구조입니다.압축을 풀지 않고 전쟁에서 web-inf/classes 디렉토리의 파일을 변경하는 방법은 무엇입니까?

MyApp.war 
     WEB-INF 
      classes/com/info/App.java 
      classes/application.properties 
      lib/ 
     META-INF 
     test 

단지 바람둥이이 전쟁의 배포하기 전에, 옵스 팀은 application.properties 파일을 업데이트해야합니다.

나는 폭발하지 않는 것이 좋습니다. 하지만 그냥 내가이 명령을 실행 한 후 나는이

jar uvf MyApp.war /var/data/prod/application.properties 

을 시도 전쟁을 업데이트하고

를 시작하는 동안 폭발 바람둥이 떠날, 나는 새 파일이 MyApp.war의 루트 레벨에 추가되는 참조하십시오. 그러나 나는 이것을 WEB-INF/classes/application.properties으로 바꿔야한다. 내가 어떻게 해. 이것에 대해 ....

mkdir -p /tmp/MyApp.war/WEB-INF/classes 
cp /var/data/prod/application.properties /tmp/MyApp.war/WEB-INF/classes 
jar -uvf MyApp.war -C /tmp/MyApp.war WEB-INF 
rm -rf /tmp/MyApp.war 

답변

1

나는 그것이 좋은 방법은 어쨌든이라고 생각하지 않는다, 당신은 에게 구성 파일을 구체화해야 어떻게 다른 한 ENV에서

1

변경됩니다 따라서 보관 파일에 포함되어서는 안됩니다. 외부 폴더에서 응용 프로그램의 구성을 읽을 수 있도록 코드를 수정해야합니다. Ops 팀은 모든 env에 env를 하나씩 배포하는 대신 동일한 war을 배포하므로 오류가 발생하기 쉽습니다.

+0

@brain storm, 내 대답을 테스트 했습니까? –