理解如何使用Jython的问题



我刚刚开始学习Jython,我在实现上遇到了一些问题。我已经浏览了Jython 2.5附带的演示文件,但我仍然不确定如何实现Jython来获得我想要的。

目前,我有Java代码执行Python服务器作为一个进程。Python服务器反过来启动第二段Java代码作为子进程。我最初打算用Java NIO服务器替换Python服务器,但这给了我无尽的痛苦,这就是为什么我要尝试Jython。我还想把所有这些放到。jar中。

我尝试制作一个简单的Python文件(print "Hello World")。它使用Jython运行,但是当我尝试使用java(在执行jython -m compileall之后)运行它时,它说它找不到main。我假设我需要在我的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.

我认为答案是CLASSPATH。

hello.py

print "Hello"

让我们运行它

> python hello.py
Hello
> jython hello.py
Hello

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

> jython -m py_compile hello.py

Run with java

> java -classpath d:Pjython253jython.jar;. hello$py
Hello

注意classpath中的点。

相关内容

  • 没有找到相关文章

最新更新