首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Jython编写Java程序

如何使用Jython编写Java程序
EN

Stack Overflow用户
提问于 2015-04-05 20:23:58
回答 1查看 339关注 0票数 0

我正在做一个项目,它将把可编程的计算机引入到我的世界,类似于ComputerCraft,除了使用Python而不是lua。

我知道Jython,所以我认为应该检查一下我是否可以在我的项目中使用它,但是无法找到足够的信息(在他们的网站上和一些搜索)来确定。

我知道使用Jython内部的Java讨论的主题,但这不是我希望我的项目工作的方式。那些使用过计算机技术的用户知道,您只有计算机技术提供给您的库,而上面链接的主题可以完全访问。好吧一切。在我的用例中,一切都是不可能的。我也不想要from pycomputers.api import Colors,我希望'colors‘api能像colors.red一样使用。

希望上面的内容在Jython中是可能的,如果不是的话,我很想知道另一个Python解释器(可以从Java中使用)来制作我的项目。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-08 15:18:30

根据文档,如果您想将Jython嵌入到java应用程序中,那么您必须使用PythonInterpreter类调用它。从这里向前看非常困难,只需注意,提供filename参数的重载是为主可执行文件的名称提供的(这些信息通常可以通过常规的旧CPython中的sys模块获得)。

现在,为了将java中的绑定公开到python (比如控制Min克拉夫特世界),我们需要像sys.path所描述的那样将jar文件添加到这里中,如果您想从java内部控制sys.path值,那么请使用

代码语言:javascript
运行
复制
PythonInterpreter pi = new PythonInterpreter();
pi.getSystemState().path.append(new PyString("path/to/java/modules.jar"));

请注意, jar文件中的包不能以反向url样式组织。相反,遵循关于包命名的说明。特别要注意命名Python模块和包,如果您遵循正确的Python命名中的指导原则,那么您将得到您想要的结果。

最后,我们用

代码语言:javascript
运行
复制
String source = ...;
pi.execute(pi.compile(source));
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29461833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档