Где добавить.ebextensions в WAR?

Сценарий:

  • AWS Эластичный бобовый стебель
  • Java-приложение
  • .ebextensions в настоящее время размещены в src/main/resources/.ebextensions

Команды не выполняются.

Где должны быть.ebextensions в приложении Java?

4 ответа

Решение

.ebextensions следует размещать в корне WAR.

Структура WAR выглядит следующим образом:

web_app.war
          |
          |_.ebextensions
          |   |_ 01run.config
          |   |_ 02do.config
          |
          |_META-INF
          |
          |_WEB-INF
               |_ classes
               |_ lib
               |_ web.xml

Обратитесь к официальным документам AWS для получения дополнительной информации.

Используя Maven, я сделал следующее:

  • mkdir src / main / ebextensions
  • положить файлы.config в эту папку
  • добавить следующее в pom.xml

        <plugin>
            <artifactId>maven-war-plugin</artifactId>
            <configuration>
                <webResources>
                    <resource>
                        <directory>src/main/ebextensions</directory>
                        <targetPath>.ebextensions</targetPath>
                        <filtering>true</filtering>
                    </resource>
                </webResources>
            </configuration>
        </plugin>
    

передать файлы на верхний уровень войны, когда она будет построена.

Используя gradle, я сделал следующее

  • mkdir src/main/resources/ebextensions
  • положить файлы.config в эту папку
  • добавьте следующее в build.gradle

применить плагин: "война"

war {
    from('src/main/resources/ebextensions') {
        into('.ebextensions')
    }
}

передать файлы на верхний уровень войны, когда она будет построена.

Вы пропустили ресурсы, это работает, когда я ставлю правильный путь

war {
    from('src/main/resources/ebextensions') {
        into('.ebextensions')
    }
}

Обновление для людей здесь в 2020 году, теперь название задачи - "bootWar"

bootWar {
    from('src/main/resources/ebextensions') {
        into('.ebextensions')
    }
}