2009-12-06 28 views
12

Tôi có một thư viện lớp Java (bên thứ 3, độc quyền) và tôi muốn tập lệnh python của tôi gọi các chức năng của nó. Tôi đã có mã java sử dụng thư viện này. cách tốt nhất để đạt được điều này là gì?Cách tốt nhất để gọi mã Java từ Python là gì?

+0

Trùng lặp: http://stackoverflow.com/questions/438594/how-to-call-java-objects-and-functions-from-cpython, http://stackoverflow.com/questions/1201628/java -wrapper-to-perl-python-code –

Trả lời

15

Bạn có thể chạy tập lệnh Python hiện tại của mình dưới Jython không? Nếu vậy, đó có lẽ là cách tốt nhất, vì thư viện Java có thể được tiếp xúc trực tiếp với Jython như các đối tượng có thể viết được.

Nếu không, có một số giải pháp được liệt kê here.

+0

+1. Thật khó để đánh bại Jython như là giải pháp ở đây. –

+0

Nếu sử dụng scipy và gumpy, Jython có thể không phải là một tùy chọn. – Sney

8

Câu trả lời khác là JPype, cho phép CPython nói chuyện với Java. Nó hữu ích nếu bạn không thể chuyển sang Jython.

3

Ngoài ra còn có JCC không được đề cập trên trang Caltech.

Trích:

JCC là một máy phát điện C++ code mà tạo ra một đối tượng C++ giao diện gói một thư viện Java qua Native Interface Java (JNI). JCC cũng tạo trình bao bọc C++ phù hợp với Hệ thống loại C của Python tạo các trường hợp các lớp Java trực tiếp có sẵn cho trình thông dịch Python.

Khi tạo trình bao bọc Python, JCC tạo một phần mở rộng Python hoàn chỉnh qua các rãnh hoặc bộ cài đặt gói.

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