问题的理解如何使用Jython的(Issues understanding how to use J

2019-07-21 17:18发布

我刚开始学习Jython和我有与实施的一些问题。 我已经通过附带的Jython 2.5的演示文件一看,我仍然不确定如何实现的Jython得到我想要的东西。

目前,我已经得到了执行一个Python服务器作为一个过程的Java代码。 反过来Python的服务器启动的Java代码的第二部分作为子进程。 我本来打算更换一个Java NIO服务器Python的服务器,但是这给了我没有悲伤的结束,因此为什么我想要的Jython。 我也希望得到这一切到一个.jar。

我试图使一个简单的Python文件( print "Hello World" )。 它运行使用Jython,但是当我试图用java(这样做后,运行它jython -m compileall )。它说,它无法找到主。 我认为我需要的东西添加到我的Python代码,使其工作,但我不知道是什么。

编辑:我得到确切的错误是这个 -

Exception in thread "main" java.lang.NoClassDefFoundError: jythonTest
Caused by: java.lang.ClassNotFoundException: jythonTest
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: jythonTest.  Program will exit.

Answer 1:

我认为答案是CLASSPATH。

hello.py

print "Hello"

让我们来运行它

> python hello.py
Hello

> jython hello.py
Hello

编译(我用py_compile编译单个文件)

> jython -m py_compile hello.py

与运行java

> java -classpath d:\P\jython253\jython.jar;. hello$py
Hello

注意在类路径中的点。 它需要Java来找到你的编译的类在当前目录。



文章来源: Issues understanding how to use Jython