2013-01-31 30 views
6

Tôi đã từ bên ngoài cấu hình Grails của mình về cơ bản giống như cách tệp cấu hình đề xuất. Tôi đã thực hiện tất cả thời gian với 1,3 dự án của mình và dòng

grails.serverURL = "http://localhost:8080/${appName}" 

trong cấu hình bên ngoài hoạt động tốt. Bây giờ tôi gặp vấn đề với 2,0 rằng Grails dường như không thể giải quyết $ {appName} - nó sẽ sử dụng [:] thay vào đó trong chuyển hướng.

Ngay sau khi tôi di chuyển dòng này trở lại cấu hình bên trong, mọi thứ hoạt động tốt.

Có cách nào để di chuyển dòng cấu hình này sang cấu hình bên ngoài không? Tôi có làm điều gì sai?

+0

Điều này cũng đã bắt đầu xảy ra cho ứng dụng của tôi trong quá trình di chuyển gần đây. Điều duy nhất thay đổi mà tôi biết là đi từ tomcat 6 đến tomcat 7. Phiên bản Grails là 1.3.7. –

Trả lời

14

Thay vào đó, bạn có thể sử dụng ${grails.util.Metadata.current.getApplicationName()}.

Lưu ý rằng từ Metadata thực hiện Map bạn không thể rút ngắn mã đó thành ${grails.util.Metadata.current.applicationName} vì khóa không phải là applicationName.

+0

@Ralf và Burt, cảm ơn câu hỏi này! Thật khó để tìm thấy thông tin này một cách đáng ngạc nhiên. $ {} Không có tác dụng đối với tôi (có thể sử dụng sai) Thay vì đặt tên tệp nhật ký của tôi, tôi đã thực hiện: tệp: (System.properties.getProperty ('catalina.base')?: 'Target') + '/ logs /' + grails.util.Metadata.current.getApplicationName() + '. log' – 10GritSandpaper

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