2013-03-26 57 views
0

我想为使用带有Tomcat的Java servlet的书籍制作Web应用程序。如果可能,我想从项目Calibre中导入一些代码(读取*.epub*.pdf,,*.mobi*.txt文件)到我的项目中。如何将.py导入java

口径来源:http://bazaar.launchpad.net/~kovid/calibre/trunk/files来自此链接的一些来源我想加入到我的项目中。

应用Calibre是一个用Python和C编写的开源代码。我想要的是导入用python编写的源文件(.py),它允许我读取标准的epub,pdf,txt ...在我用java开发的项目中servlet来查看和转换书籍。我使用Eclipse(Java EE),我不知道要导入这些源以及如何制作的步骤。它必须将这些源导出到jar?

回答

1

Python与Java不兼容,因为Java不能运行Python代码。

但是,有几个选项。

  1. 通过系统调用直接从Java应用程序运行python代码。 我对这些情况使用ProcessBuilder,你可以看看 http://javaevangelist.blogspot.com/2011/12/java-tip-of-day-using-processbuilder-to.html
  2. 将Calibre设置为Web应用程序,并将您的Web应用程序中的函数从您的web应用程序调用 启动。它似乎已准备好根据http://calibre-ebook.com/abouthttp://www.techrepublic.com/blog/opensource/how-to-use-calibre-to-access-your-ebook-collection-online/2275作为web应用程序 运行。
0

我看其他两种方式:

  1. 你可以用Jython工作(但我有没有经验,不知道这是否解决您的问题)

  2. 你可以为Java编写一个JNI模块,然后启动并使用Python解释器。

+0

是啊,你可以。但两者都可能是一个坏主意。 – 2013-03-26 15:47:01

0

Python和java是不同的语言。你不能让java代码调用python代码,或者不经过某种转换。我觉得你最好的选择是要么

  1. 寻找一个Java库,你想要做什么,或
  2. 用Python语言编写你的网站;也有许多优秀的图书馆,这些

当然有办法从Java调用Python,但它会是相当困难将它们应用到一些大口径,它也使用一些C.

+0

对于转换格式,它可能只是一个需要被调用的脚本,我期望。 – 2013-03-27 14:42:36