我刚刚开始学习 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
运行与java
> java -classpath d:\P\jython253\jython.jar;. hello$py
Hello
请注意类路径中的点。 java需要在当前目录中找到您编译的类。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)