2011-09-27 29 views
5

Tôi có một lớp java đơn giản:truy cập vào một lớp học java từ bên trong groovy

package test; 
class Hello { 
    public static void main(String[] args) { 
    System.out.println("Hi"); 
    } 
} 

mà tôi làm một vấn đề

javac Hello.java 

: Bây giờ tôi muốn truy cập lớp này từ một kịch bản hấp dẫn (access.groovy) ...

import test.* 
Hello.main(null) 

nhưng

groovy -cp . access.groovy 

sẽ cho kết quả là MissingPropertyException. Tôi đang làm gì sai?

Trả lời

14

Lớp học của bạn Hello cần phải được khai báo là công khai để có thể truy cập từ các gói khác. Là một ngôn ngữ động, Groovy không thể xác định các lỗi như vậy và kết thúc tìm kiếm một biến có tên là Hello.

Thường là ý tưởng tồi khi sử dụng nhập khẩu ký tự đại diện; trong trường hợp này, sử dụng import test.Hello; sẽ cho bạn một thông báo lỗi tốt hơn.

+0

Nó thực sự có vẻ làm việc cho tôi như là (Groovy 1.8.2) nhưng 1 cho lời khuyên tốt :-) –

+0

Tôi biết nó là ngớ ngẩn tầm thường :-) Thanx! – rdmueller

+0

Tôi đã sử dụng Groovy 1.7 ... – rdmueller

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