2011-11-17 26 views
6

Có ai có ý tưởng hay không là cách tốt nhất để tạo một thư viện riêng cho groovy.Tạo thư viện groovy của riêng mình

Tôi có một số phương pháp mà tôi chỉ không muốn sao chép và dán vào tất cả các tập lệnh groovy của tôi.

Các giải pháp hoàn hảo sẽ là để làm điều đó bởi một

import myownmethods 

Làm thế nào để tạo ra các myownmethods.jar thư viện?

Thanks cho bất kỳ câu trả lời và giải pháp

Cheers

Trả lời

9

phương pháp đơn giản nhất là để biên dịch file groovy của bạn với groovyc và sau đó đóng gói chúng thành một tệp jar với jar. Ví dụ:

groovyc -d classes myclasses.groovy 
jar cvf myclasses.jar -C classes . 

Tôi cũng xem xét việc xem xét ở mức độ ưu việt. Để bắt đầu, bạn có thể sử dụng một build.gradle chứa chỉ:

apply plugin: 'groovy' 

Sau đó đặt các file nguồn của bạn trong thư mục con gọi là src/main/groovy và chạy gradle jar. Nó sẽ xây dựng các tệp nguồn của bạn thành tệp jar trong build/libs.

+0

Cảm ơn câu trả lời nhanh! Tôi đã thử nó với phương pháp groovyc, và tôi đã nhận tập tin jar của tôi cuối cùng. Tôi sao chép nó vào thư mục lib của dir chính groovy, nhưng khi tôi mở groovyConsole và loại sau: 'import myclasses. * One() // phương pháp mà chỉ cần làm println 1' nó doesnt dường như làm việc ... anh cant tìm phương pháp. Tôi đã làm gì sai? – Booyeoo

+0

Gắn tập tin jar trong '.groovy/lib' vào thư mục chính của bạn (' System.properties ['user.home'] '). Hoặc khởi động groovy với 'groovyConsole -classpath myclasses.jar' – ataylor

+0

Cảm ơn rất nhiều! Tôi đã sao chép vào tất cả các thư mục có thể nhưng nó không hoạt động. Sau đó tôi nhận ra rằng bạn có thể cần một định nghĩa lớp trong groovy được biên dịch vào lớp và đóng gói vào trong lọ. Công trinh. Đây không phải là hoàn hảo nhưng cung cấp cho các workaround cần thiết. – Booyeoo

2

Bạn nên theo dõi quá trình tương tự mà bạn sẽ cho một thư viện Java, tức là

  • Tạo một dự án cho mã
  • Configure công cụ xây dựng yêu thích của bạn (Ant, Maven, v.v.) để xây dựng một JAR cho dự án đó
  • Đặt JAR ở đâu đó mà các dự án khác có thể tìm thấy nó. Nếu bạn đang sử dụng một công cụ như Ivy hoặc Maven quản lý sự phụ thuộc, bạn sẽ muốn triển khai nó vào một kho lưu trữ. Nếu không, bạn có thể chỉ cần đặt nó ở đâu đó trong điều khiển nguồn †
  • Các dự án phụ thuộc vào thư viện này hoặc tải nó từ kho lưu trữ (nếu sử dụng quản lý phụ thuộc) hoặc sao chép vào thư mục lib (nếu không) †

† tôi biết điều này sucks, nhưng tôi không thể nhớ làm thế nào tôi sử dụng để quản lý phụ thuộc mà không sử dụng một công cụ quản lý phụ thuộc

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