2013-08-01 35 views
5

Làm cách nào để tạo biến môi trường có sẵn cho cầu nối bằng cách sử dụng plugin gradle? Một số mã nó chạy trong một servlet yêu cầu một biến môi trường cụ thể được thiết lập, nhưng tôi không thể tìm ra cách tốt để gửi nó tới quy trình cầu nối giống như bạn có thể cho một nhiệm vụ JavaExec (thông qua phương thức environment).Gửi biến môi trường tới cầu cảng bằng cách sử dụng jettyRun trong Gradle

Cũng được chấp nhận sẽ là tài sản. Ví dụ: nếu tôi chạy một số java, tôi sẽ bao gồm một số -Dproperty.name=blah để gửi thuộc tính property.name.

Chúng ta có thể làm điều đó cho các nhiệm vụ Kiểm tra và JavaExec ... chúng ta có thể làm điều đó cho nhiệm vụ JettyRun không?

Trả lời

3

Vùng chứa được quản lý bởi plugin Jetty chạy trong tiến trình Gradle, vì vậy bạn cần đặt biến môi trường hoặc thuộc tính hệ thống cho quy trình đó.

Plugin Jetty cũng khá lỗi thời và bị giới hạn, một phần vì lý do chính xác mà nó chạy bên trong quy trình Gradle. Thay vào đó, tôi khuyên bạn nên thử số arquillian-gradle-plugin. Chúng tôi nghĩ rằng plugin này mở đường cho việc hỗ trợ vùng chứa web tốt hơn.

+0

Bạn có nghĩa là chỉ 'def environmentVar = 'blah'' hoặc cái gì đó? – Depressio

+0

Vâng, nó hoạt động nếu tôi thiết lập các tài sản trong GRADLE_OPTS (thông qua 'GRADLE_OPTS =" - Dproperty.name = blah "'), nhưng tôi cần một cái gì đó một * ít * xác định hơn thế. Có cách nào để làm điều đó trong một kịch bản gradle? – Depressio

+3

Xin lỗi vì spam thông báo ... thêm 'doFirst {System.setProperty (" property.name "," blah ")} vào' jettyRun' làm việc. – Depressio

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