将GraalVM引擎和graalpython与Java应用程序捆绑在一起



有一种运行Python脚本的方法,该方法使用GraalVM及其Python模块graalpython使用Java中的包。以下是示例https://github.com/paulvi/graalpython-java-template

我想知道是否有可能将GraalVM引擎和graalpython捆绑到我的Java应用程序中,并生成jar或本地映像(例如,使用GraalVM项目中的本地映像编译器(?

我认为您可以将整个GraalVM发行版与您的应用程序捆绑在一起,就像其他一些应用程序使用普通JDK一样(例如,我认为IntelliJ将JDK与之捆绑在一起(。这将是最简单的选择。

您至少需要GraalPython主目录,其中包含Python标准库和GraalPython运行任何有意义的程序所需的其他文件。

此外,如果您想在JVM模式下运行,那么您需要在GraalVM上运行,其他JDK不受支持。理论上,你可能会以某种方式破解它,用JVMCI在JDK上运行GraalPython,就像用JavaScript[0]一样,但用GraalPython会复杂得多。

理论上,您可以通过提供自定义文件系统实现[1],将GraalPython主目录绑定到应用程序中。

[0]https://www.graalvm.org/reference-manual/js/RunOnJDK/

[1]https://www.graalvm.org/truffle/javadoc/org/graalvm/polyglot/io/FileSystem.html

相关内容

最新更新