2013-08-24 24 views
19

Kịch bản:Nơi thêm .ebextensions trong WAR?

  • AWS đàn hồi Beanstalk
  • ứng dụng
  • Java
  • .ebextensions hiện đặt trong src/main/nguồn/.ebextensions

lệnh không được thực thi.

Các tệp .ebextensions phải nằm trong ứng dụng Java ở đâu?

Trả lời

19

.tiện ích mở rộng phải được đặt trong thư mục gốc của WAR.

Cơ cấu WAR trông giống như sau:

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

Tham khảo chính thức AWS docs để biết thêm thông tin.

+0

chiến tranh của tôi được xây dựng bằng maven làm thế nào tôi sẽ sửa đổi pom của tôi để đạt được –

+3

này đó là trong src/main/webapp –

+2

@GustavoMatias, AWS thay đổi đường dẫn '.ebextensions' trong một thời gian, nhưng nó chấp nhận cả hai đường dẫn (trong'/WEB-INF/.ebextensions' và '/ .ebextensions' của WAR). – study

31

Sử dụng Maven tôi đã làm như sau:

  • mkdir src/main/ebextensions
  • đặt .config file vào thư mục này
  • thêm dòng sau vào 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> 
    

để truyền tệp sang cấp cao nhất của chiến tranh khi nó được xây dựng.

+0

Đến năm 2017, phương pháp này có vẻ không hoạt động. XML plugin thực sự, thêm thư mục .ebextensions vào cấp cao nhất của cuộc chiến, nhưng khi được triển khai tới một beanstalk, thư mục đó và nội dung của nó không tìm thấy ở đâu. – fivedogit

4

Sử dụng gradle tôi sau

  • mkdir src/main/nguồn/ebextensions
  • đặt .config file vào thư mục này
  • thêm dòng sau vào build.gradle

áp dụng plugin: 'war'

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

để chuyển các tập tin lên cấp cao nhất của cuộc chiến khi nó được xây dựng.

0

bạn bỏ lỡ nguồn tài nguyên, nó hoạt động khi tôi đưa con đường đúng đắn

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

Câu trả lời này dường như đặt.thư mục ebextensions trong thư mục gốc của thư mục lớp bên trong JAR được tạo ra, không phải trong thư mục gốc của nó. – christopher

+0

bạn đúng @ user3654211 - đã sửa câu trả lời của tôi – hertzi

Các vấn đề liên quan