如何将JyNI嵌入jar中

时间:2017-10-31 07:14:36

标签: java maven numpy jar jython

我正在用java开发一个应用程序,在这一个中,我使用jython-standalone(Jython出于各种原因,其目标是简化应用程序中的某些脚本)。

我想访问NumPy,似乎JyNI提供了这样的功能。

我发现很多帖子解释了如何使用JyNI启动Jython项目,但是没有关于如何在应用程序中包含.jar或其他内容的帖子,以便在需要时可以使用它。

正如JyNI所述,java -cp build/JyNI.jar -jar jython.jar不起作用。

通过PythonInterpreter执行某些Jython代码时,我有办法使用JyNI吗?

1 个答案:

答案 0 :(得分:0)

您应该可以通过执行org.python.util.jython类来启动实时解释器。

在Linux上,OSX:

java -cp jython.jar:build/JyNI.jar org.python.util.jython

在Windows上:

java -cp jython.jar;build\JyNI.jar org.python.util.jython

或者,可以使用Jython的启动脚本:

jython -J-cp build/JyNI.jar

此信息来自https://github.com/Stewori/JyNI#running-jyni,但省略了脚本参数someFile.py。

如果您想通过Java代码明确地利用解释器,那么您肯定可以通过某种方式启动整个应用程序。确保在该命令的classpath中有JyNI.jar和包含其二进制文件的文件夹。 Jython应该在JyNI支持下运行。

附注:请务必使用Jython 2.7.1和NumPy> = 1.12。这些先决条件的版本不匹配是导致失败的常见原因。