2011-06-23 5 views
6

Ứng dụng của chúng tôi được chia thành ứng dụng chính và một vài plugin. Chúng tôi đang sử dụng các plugin nội tuyến thông qua tệp BuildConfig.groovy. Khi đó là thời gian để WAR toàn bộ điều lên phục vụ sản xuất Tôi nhận được thông báo sau:Plugin nội tuyến của Grails: Không thể nâng cấp plugin được cấu hình thông qua BuildConfig.groovy

Bạn không thể nâng cấp một plugin đó là cấu hình thông qua BuildConfig.groovy, loại bỏ các cấu hình để tiếp tục.

Và sau đó Grails muốn gỡ cài đặt plugin vì không thể tìm thấy plugin trong ứng dụng.properties. Nhưng trong quá trình phát triển, có nó trong application.properties gây ra vấn đề. Vì vậy, khi chúng tôi đã sẵn sàng để tạo ra một WAR sản xuất, làm thế nào để chúng tôi làm việc xung quanh điều này mà không bình luận các plugin trong BuildConfig.groovy mỗi lần?

Trả lời

2

BuildConfig.groovy được đọc khá sớm trong quá trình chạy, vì vậy không phải tất cả dữ liệu môi trường đều khả dụng. Tuy nhiên, nó được xem như là một kịch bản hấp dẫn thường xuyên, vì vậy bạn có thể thử lợi dụng thực tế là nhiệm vụ chiến tranh được chạy trong môi trường sản xuất:

// BuildConfig.groovy 
if (System.getProperty("grails.env") == "development") { 
    // specify the inplace plugin normally here 
} 
+0

Tôi sử dụng này để làm việc xung quanh một vấn đề tạo ra các cuộc chiến tranh với các plugin inline. Tuy nhiên, tôi ước gì tôi không có vấn đề ngay từ đầu. – Andrew