将Jython代码转换为Java类

将Jython代码转换为Java类,java,jython,Java,Jython,目标:允许最终用户编写jython脚本,用Java创建AI对象[用于控制游戏中的太空船舰队] 我希望用户能够在一个.py文件中编写AI的所有逻辑,然后将代码转换为java对象。我希望这样做时不使用Java反射,也不需要在每次需要时通过解释器运行用户代码。这样做的全部目的是使代码尽可能快地运行,因为AI逻辑必须运行每个游戏循环 我看过Jython的\uuuu to java\uuu方法,但我真的不知道如何使用它,或者它是否是我所需要的 我将非常感谢您能为我的问题提供一个好的解决方案,或者了解\uu

目标:允许最终用户编写jython脚本,用Java创建AI对象[用于控制游戏中的太空船舰队]

我希望用户能够在一个.py文件中编写AI的所有逻辑,然后将代码转换为java对象。我希望这样做时不使用Java反射,也不需要在每次需要时通过解释器运行用户代码。这样做的全部目的是使代码尽可能快地运行,因为AI逻辑必须运行每个游戏循环

我看过Jython的
\uuuu to java\uuu
方法,但我真的不知道如何使用它,或者它是否是我所需要的

我将非常感谢您能为我的问题提供一个好的解决方案,或者了解
\uuuu to java\uuu
。我致力于Java和Jython,因此建议替代方案是没有成效的:)

您应该看看如何从Java应用程序中使用Jython代码


您应该用jython编写代码,并在Java应用程序中使用它,因为它需要一点努力。

Jythonc已被弃用,但这里是最重要的。用如下方式编译:

jythonc --core --jar foo.jar foo.py
另一个(未经测试的)解决方案可能是编写将类另存为foo.py,在相同的文件夹和类型中打开jython shell

import foo
这将自动在该文件夹中创建一个foo$py.class


尽管Jython是一种很好的语言,但由于缺乏好的打包工具,我一直在寻找可以轻松打包用于java互操作的工具。由于您将要编写人工智能,使用lisp可能不是一个坏主意。

'jythonc'不再受支持。您必须使用jython进行编译:

jython

>>> import compileall
>>> compileall.compile_dir('directory/', force=True)
对于单个文件:

 >>> import py_compile
 >>> py_compile.compile('Building.py')

有什么原因不能使用jythonc吗?如果“快速”是一个目标,我不确定我是否会允许脚本编写,但这是一个单独的问题,我不知道你真的需要它有多快。我不能使用jythonc,因为我不知道如何使用(链接很好!),而且我在某个地方读到它被弃用(?)并为我的问题提供了一个很好的解决方案,脚本编写不应该是一个速度问题,因为一旦我从脚本创建了java对象,我就可以重用它,而不必再次查看脚本。