Vâng, có vẻ như một nhiệm vụ đơn giản nhưng tôi không quản lý để chạy nó.Làm thế nào để thực thi một Groovy Script từ ứng dụng Grails của tôi?
Tôi có một kịch bản hấp dẫn mà chạy tốt trên Windows Vista khi gọi từ dấu nhắc:
> cd MY_GAILS_PROJECT_DIR
> groovy cp src/groovy scripts/myscript.groovy
Bây giờ, tôi muốn thực hiện kịch bản này (và đi qua nó một số đối số đầu vào) thông qua Dịch vụ Lớp bảo trì my my (được gọi từ bộ điều khiển) như sau,
class MaintenanceService {
def executeMyScript() {
"groovy cp src/groovy scripts/myscript.groovy".execute()
}
}
Nó không hoạt động chút nào! Tôi thậm chí không quản lý để có thực thi() phương pháp nhận biết bất kỳ lệnh (như "cd .".execute()
) ném ngoại lệ:
Error 500: java.io.IOException: Cannot run program "cd": CreateProcess error=2, The system cannot find the file specified
1- Làm thế nào tôi có thể thực hiện một kịch bản hấp dẫn từ ứng dụng Grails của tôi?
2 - Các phương pháp hay nhất ở đây là gì? Ví dụ, tôi nên sử dụng QuartzPlugin và sau đó là phương thức triggerNow để thực thi một kịch bản? sao tôi nên sử dụng Gant Task? Nếu có, làm thế nào để làm điều đó?
Cảm ơn bạn.
Có lý do cụ thể nào đó phải là một "kịch bản" hấp dẫn, chứ không phải là một lớp bạn có thể gọi, như bastianneu đề xuất dưới đây? – Ash
Có. Tôi cần kịch bản groovy này để được thực thi mà không có môi trường Grails. – fabien7474