2012-03-30 24 views
7

Tôi đang cố gắng chạy một kịch bản Groovy trong Eclipse nhưng Eclipse dường như bỏ qua tất cả các câu lệnh nhập của tôi. Nếu tôi di chuột qua các lỗi nó yêu cầu tôi nhập vào lớp thích hợp (nhấp vào nó không có gì).Groovy trong Eclipse không nhận ra nhập khẩu

Tôi có các lọ cần thiết trong đường dẫn xây dựng và đường dẫn lớp của tôi.

Mẫu mã, khá tiêu chuẩn:

package scripts.blah 

import foo.Bar; 

class FooMain { 
    static main(String[] args){ 
     Bar bar = new Bar(); 
    } 
} 

Groovy: không thể giải quyết Bar lớp

Bất kỳ trợ giúp sẽ được đánh giá cao.

+0

Nếu bạn có nó trong build path đúng, cần làm việc – ControlAltDel

+0

các lọ đều được liệt kê trong cấu hình chạy của tôi -> classpath dưới tài Entries. – smcg

+0

Phiên bản Groovy nào? Phiên bản Eclipse nào? –

Trả lời

1

Quên để thực sự xây dựng dự án. Ouch. (xây dựng tự động đã bị tắt trong Eclipse)

+0

Tôi có cùng lỗi "Không thể phân giải lớp" trong các thư viện bên ngoài, chẳng hạn như "import com.beust.jcommander.JCommander". Tôi đang sử dụng Gradle và gradlew compileGroovy hoạt động tốt từ dòng lệnh. –

4

Ba khả năng:

  1. Các kịch bản không phải là trong một thư mục nguồn
  2. Các kịch bản được đề cập đến không phải là trong một thư mục nguồn.
  3. Một hoặc cả hai tập lệnh nằm trong "thư mục tập lệnh". Các thư mục tập lệnh là các thư mục mà các tập lệnh đi. Các tệp Groovy trong các thư mục script không được gửi tới trình biên dịch và do đó các tập lệnh trong các thư mục script không thể tham chiếu lẫn nhau. Kiểm tra thư mục script của bạn tại Preferences -> Groovy -> Compiler. Ngoài ra, như của groovy-eclipse 2.6.1, có các thư mục kịch bản lệnh cụ thể của dự án, do đó cũng kiểm tra các thuộc tính dự án của bạn.
+0

Cảm ơn lời khuyên, tôi sẽ thử điều này vào thứ hai. – smcg

+0

Xin lỗi cho anticlimax, nhưng hóa ra tôi chỉ cần thiết để xây dựng dự án (xây dựng tự động đã bị tắt). Không chắc chắn liệu câu hỏi có nên được đóng hay không và cách thức hoạt động của nó. – smcg

0

Có cùng một vấn đề. Thêm những để classpath của tôi giải quyết vấn đề:

<classpathentry exported="true" kind="con" path="GROOVY_SUPPORT"/> 
<classpathentry exported="true" kind="con" path="GROOVY_DSL_SUPPORT"/> 
Các vấn đề liên quan