2009-12-06 10 views
12

Ho una libreria di classi Java (di terze parti, proprietarie) e voglio che il mio script python chiami le sue funzioni. Ho già un codice Java che usa questa libreria. Qual è il modo migliore per raggiungere questo obiettivo?Qual è il modo migliore per chiamare il codice Java da Python?

+0

Duplicato: 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 –

risposta

15

È possibile eseguire gli script Python correnti con Jython? Se è così, questo è probabilmente il modo migliore, dal momento che la libreria Java può essere esposta direttamente in Jython come oggetti scriptable.

In caso contrario, sono disponibili un numero di soluzioni here.

+0

+1. È difficile battere Jython come soluzione qui. –

+0

Se si utilizza scipy e numpy, Jython potrebbe non essere un'opzione. – Sney

8

L'altra risposta è JPype, che consente a CPython di comunicare con Java. È utile se non puoi passare a Jython.

3

C'è anche JCC che non è menzionato sulla pagina Caltech.

Citazione:

JCC è un generatore di codice C++ che produce un C++ un'interfaccia oggetto avvolgendo una libreria Java tramite interfaccia nativa Java (JNI). JCC anche genera wrapper C++ conformi al sistema di tipo C Python di rendendo le istanze di classi Java Java direttamente a un interprete Python direttamente da .

Quando genera involucri Python, CCM produce un'estensione Python completo tramite i distutils o setuptools pacchetti.

Problemi correlati