2012-01-09 36 views
5

Tôi có một lớp Java được đặt trong src/java tham chiếu các lớp từ một JAR bên ngoài. Tôi đã sao chép tệp JAR vào thư mục lib. Khi tôi chạy ứng dụng bằng cách sử dụng grails run-app Tôi gặp lỗi khi không thể tìm thấy lớp đã nhập.Tệp Grails JAR trong thư mục lib không tìm thấy

Vị trí chính xác để đặt JAR cho dự án Grails là gì? Có một số lệnh đặc biệt để Grails nhận ra các tệp JAR mới được thêm vào không?

Tôi đang chạy Grails 2.0.0 với Java 1.6.0_29 trên OS X.

Follow-up: Câu hỏi Các lọ là từ Apache HttpComponents. Cụ thể hơn:

commons-codec-1.4.jar 
commons-logging-1.1.1.jar 
httpclient-4.1.2.jar 
httpclient-cache-4.1.2.jar 
httpcore-4.1.2.jar 
httpmime-4.1.2.jar 

Tệp lớp học trong chúng được biên dịch sang Java 1.3, không phải là vấn đề.

~/temp/org/apache/http $ file HttpResponse.class 
HttpResponse.class: compiled Java class data, version 47.0 (Java 1.3) 

Trả lời

5

Cách chính xác để thêm jar là bằng cách thêm nó vào "BuildConfig.groovy" của bạn. Bạn có thể chỉ định nếu nó là cần thiết tại thời gian biên dịch, thời gian chạy vv Ví dụ:

dependencies {   
     build 'org.apache.httpcomponents:httpcore:4.1.2' 
     build 'org.apache.httpcomponents:httpclient:4.1.2' 
     runtime 'org.apache.httpcomponents:httpcore:4.1.2' 
     runtime 'org.apache.httpcomponents:httpclient:4.1.2' 
} 

Xin lưu ý, bạn cũng có thể cần phải bỏ ghi chú dòng mavenCentral() trong Buildconfig.groovy của bạn để cho các phụ thuộc để có được đã giải quyết.

Xem phần "Độ phân giải phụ thuộc" phần here.

+0

Bắt đầu với Grails 2.0.0, mavenCentral() được bỏ mặc định theo mặc định :) – rlovtang

+0

Tôi cũng phải đối mặt với cùng một vấn đề. Mặc dù tôi đặt jar của tôi trong thư mục lib dự án, nó không tải gì cả :-(Nếu tôi muốn thêm jar của riêng mình thì cần thêm vào cái nào không nằm trong trung tâm maven? –

+0

Sau một vài giờ đấu vật với điều này (tại ít nhất), câu trả lời của bạn và đặc biệt là liên kết tới các tài liệu đã lưu lại cho tôi +1, cảm ơn! – Madbreaks

13

Rất lạ, tôi chạy grails clean và sau đó grails run-app và biên dịch và chạy tốt.

+0

Tôi cũng đã làm như vậy và hoạt động tốt ngay bây giờ. –

+0

Tôi vẫn gặp sự cố ... sử dụng grails 2.0.3 – Philippe

+0

bạn đã thêm jar vào đường dẫn xây dựng chưa? –

6

Khi bạn thêm hoặc gỡ bỏ những file jar trong lib bạn cần phải chạy

grails compile --refresh-dependencies 

để có được Grails để nhận thấy sự thay đổi.

+0

Cảm ơn. –

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