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?
risposta
È 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.
+1. È difficile battere Jython come soluzione qui. –
Se si utilizza scipy e numpy, Jython potrebbe non essere un'opzione. – Sney
L'altra risposta è JPype, che consente a CPython di comunicare con Java. È utile se non puoi passare a Jython.
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.
- 1. Qual è il modo migliore per usare il codice Python da Scala (o Java)?
- 2. Qual è il modo migliore per eseguire codice Java sandboxed?
- 3. Qual è il modo migliore per documentare il codice f #?
- 4. Il modo migliore per chiamare le funzioni Haskell da Java
- 5. Qual è il modo migliore per attivare le stampe Python?
- 6. Qual è il modo migliore per reimparare una lingua?
- 7. Qual è il modo migliore per gestire il processo unix da java?
- 8. Qual è il modo migliore per comunicare tra due server?
- 9. Qual è il modo migliore per riutilizzare il parser Lua?
- 10. Qual è il modo migliore per rilevare il colore bianco?
- 11. È possibile chiamare il codice Java C++?
- 12. Qual è il modo migliore per trovare il codice che blocca il thread principale?
- 13. Qual è il modo più semplice per chiamare una funzione del kernel di Windows da Java?
- 14. Qual è il modo migliore per chiamare correttamente un metodo DOPO il caricamento di un modulo?
- 15. Qual è il python per Java BigDecimal?
- 16. Qual è il modo migliore per tradurre questo metodo Python ricorsivo in Java?
- 17. Qual è il modo più veloce per accedere al codice nativo da Java?
- 18. Il modo migliore per chiamare il codice Managed .NET dal codice Unmanaged
- 19. Qual è un modo migliore per chiamare Form.ShowDialog()?
- 20. Qual è il modo migliore per misurare la durata del codice da eseguire?
- 21. Qual è il modo migliore per strutturare questo codice Drag & Drop da Linq ad eventi?
- 22. Qual è il modo migliore per dividere file di grandi dimensioni in Python per il multiprocessing?
- 23. Qual è il modo migliore per simulare java.lang.Thread?
- 24. Qual è il modo migliore per tracciare l'esecuzione di JavaScript?
- 25. Qual è il modo migliore per riutilizzare le classi da un altro progetto Java in Eclipse?
- 26. Qual è il modo migliore per testare un'app per rails?
- 27. qual è il modo migliore per modificare file CSV
- 28. Qual è il modo migliore per imparare Django 1.5?
- 29. Qual è il modo migliore per passare alla codifica MVC?
- 30. Qual è il modo migliore per testare javascript?
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 –