2013-03-26 9 views
0

Я хочу создать веб-приложение для книг, используя сервлеты Java с Tomcat. Я хочу импортировать код (который читает *.epub, *.pdf, *.doc, *.mobi и *.txt файлов) из проекта Caliber в мой проект, если это возможно.Как импортировать .py в java

Источник калибра: http://bazaar.launchpad.net/~kovid/calibre/trunk/files Некоторые источники по этой ссылке Я хочу работать в своем проекте.

Приложение Caliber - это открытый исходный код, написанный на Python и C. Я хочу импортировать источники, написанные на python (.py), что позволяет мне читать стандартные epub, pdf, txt ... в моем проекте, разработанном в java сервлет для просмотра и конвертации книг. Я использую Eclipse (Java EE), и я не знаю, какие шаги импортировать эти источники и как их сделать. Он должен экспортировать этот источник в банку?

ответ

1

Python не совместим с Java, поскольку Java не может запускать код python.

Но есть несколько вариантов.

  1. Запустите код python из приложения Java напрямую с помощью системного вызова. Я использую ProcessBuilder для этих ситуаций, и вы можете посмотреть http://javaevangelist.blogspot.com/2011/12/java-tip-of-day-using-processbuilder-to.html.
  2. Настройте Калибр в качестве веб-приложения и вызовите преобразование функций из вашего веб-приложения на веб-приложение калибровки вы запускаете. Он представляется готовым к запуску в виде веб-приложения согласно http://calibre-ebook.com/about и http://www.techrepublic.com/blog/opensource/how-to-use-calibre-to-access-your-ebook-collection-online/2275.
0

Я вижу два других способа:

  1. Вы могли бы работать с Jython (но я не имею никакого опыта, что и не знаю, если это решит вашу проблему)

  2. Вы могли бы напишите модуль JNI для Java, который, в свою очередь, запускается и использует интерпретатор Python.

+0

Да вы мог. Но обе, вероятно, плохая идея. –

0

Python и java - это разные языки. Вы не можете использовать java-код для вызова кода python или наоборот, без какого-либо преобразования. Я думаю, что лучшим вариантом является либо

  1. Посмотрите на библиотеку Java, которая делает то, что вы хотите, или
  2. Написать свой веб-сайт в питона; Есть много прекрасных библиотек для этих

Конечно, есть способы позвонить питона из Явы, но это будет довольно трудно применить их к чему-то, как большой Caliber, который также использует некоторые C.

+0

Для преобразования формата это может быть только один сценарий, который нужно назвать, я бы ожидал. –

Смежные вопросы