6

Vì vậy, tôi đang cố gắng triển khai ứng dụng Play Framework 2.1.1 rất đơn giản của mình nhưng bất cứ khi nào tôi chuyển cờ qua dòng lệnh cho cổng và áp dụng diễn biến cơ sở dữ liệu, chúng bị bỏ qua.Play Framework 2.1.1 Các vấn đề triển khai

Ví dụ:

sudo play start -Dhttp.port=80 -DapplyEvolutions.default=true

Sử dụng lệnh này, máy chủ sẽ không khởi động. Cả hai cổng và applyEvolutions = cờ thực sự được bỏ qua hoàn toàn và nó ném lỗi này:

[warn] play - Your production database [default] needs evolutions! [warn] play - Run with -DapplyEvolutions.default=true if you want to run them automatically (be careful) Oops, cannot start the server. @6elhl9mca: Database 'default' needs evolution!

Tôi đã thử mọi thứ tôi có thể nghĩ là không có kết quả. Sử dụng Play Run trên máy cục bộ của tôi hoạt động tốt, không có vấn đề gì. Máy chủ đang chạy Ubuntu 12.04. Tất cả các trình điều khiển và chuỗi kết nối phù hợp đều có mặt và thử nghiệm, cơ sở dữ liệu đang chạy, mọi thứ đều hoạt động mà không có vấn đề ngoại trừ Khung Chơi.

+0

Cập nhật: Tôi có thể "mã hóa cứng" hàm applyEvolutions.default = true vào tệp tin application.conf và hoạt động, nhưng cài đặt http.port cũng không hoạt động theo cách tương tự. Bất kỳ lời khuyên nào về cài đặt cổng HTTP? –

Trả lời

6

Ok, vì vậy tôi đã không thực sự tìm thấy giải pháp cho việc này, nhưng tôi đã tìm thấy giải pháp thay thế. Đây không phải là bất cứ nơi nào trong tài liệu 2.x Chơi Khung (chưa), vì vậy tôi tìm tôi sẽ đặt nó ở đây trong trường hợp người khác bị mắc kẹt:

Đưa applyEvolutions.default=true vào application.confDOES làm việc, và sẽ làm cho cơ sở dữ liệu diễn biến tự động áp dụng. Đối số dòng lệnh -DapplyEvolutions.default=trueKHÔNG hoạt động và bị bỏ qua vì lý do không xác định.

Đặt http.port=80 vào application.confKHÔNG làm việc. Đối số dòng lệnh -Dhttp.port=80 cũng KHÔNG hoạt động để thiết lập số cổng để chạy.

Vì vậy, để thiết lập số cổng sử dụng lệnh này để thay thế:

play "start 80" hoặc play "run 80" (sử dụng dấu ngoặc kép chính xác như được hiển thị).

Vì một số lý do khi lệnh cổng được viết chính xác như trên trong dấu ngoặc kép, số cổng để chạy được đặt đúng.

Điều này không được tìm thấy trong tài liệu khung ở bất kỳ đâu. Tôi muốn tạo một yêu cầu kéo khác để thêm nó, nhưng vấn đề cuối cùng tôi giải quyết cho khung công tác này (mã hóa cơ sở dữ liệu) bị từ chối là "trường hợp sử dụng thích hợp, hạn chế" và cập nhật tài liệu đã bị từ chối. Tôi vẫn có thể thử.

Hy vọng điều này sẽ giúp ai đó.

+0

Các lệnh đó hoạt động nhưng bạn phải đặt chúng trong dấu ngoặc kép.Ví dụ: chơi "chạy 8080" để kiểm tra câu trả lời của James. – kingdamian42

+0

Vâng, tôi thấy điều đó ngay bây giờ. Vấn đề là, các tài liệu không nói rằng bất cứ nơi nào và thực sự đưa ra các ví dụ ngược lại. –

+1

Giả định rằng bạn đang sử dụng bảng điều khiển phát trong trường hợp báo giá không cần thiết. Bạn luôn có thể [cho họ biết] (https://github.com/playframework/play20/issues?state=open) nếu nó có vẻ không chính xác;) – kingdamian42

10

Hoặc

play "start -Dhttp.port=80 -DapplyEvolutions.default=true" 

hoặc

play dist 

sau đó, giải nén và chạy kịch bản khởi tạo,

./start -Dhttp.port=80 -DapplyEvolutions.default=true 

sẽ làm việc.

+2

Điều này thật tuyệt vời, cảm ơn bạn. Vấn đề lớn nhất của tôi là rất ít mức độ chi tiết này nằm trong tài liệu. Cảm ơn bạn mặc dù. –