2016-06-22 6 views
0

вот структура моего военного файла.Как изменить файл в каталоге web-inf/classes на войне без распаковки?

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

непосредственно перед развертыванием этой войны к коту, команда Ops необходимо будет обновить файл application.properties.

Я предпочитаю не взрываться. а просто обновить войну и оставить кот взорваться во время запуска

Я попробовал этот

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

После того как я выполнил эту команду, я вижу новый файл добавляется на корневом уровне MyApp.war. но я хочу, чтобы WEB-INF/classes/application.properties был заменен на этот. Как мне это сделать.

ответ

1

Я не считаю, что это хороший подход в любом случае, вы должны экстернализовать файл конфигурации, как она будет меняться от одного к другому окр , поэтому он не должен быть частью вашего архива. Вы должны адаптировать свой код, чтобы читать конфигурацию своего приложения из внешней папки. Тогда ваша команда Ops будет иметь тот же war для развертывания на всех env, а не на один env, что гораздо менее подвержено ошибкам.

1

Как об этом ....

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 
+0

@brain storm, вы проверили мой ответ? –

 Смежные вопросы

  • Нет связанных вопросов^_^