使用Jython执行Python脚本时,获得无效的Jarindexexception



我使用Jython从Web服务调用Python脚本时会获得sun.misc.InvalidJarIndexException。我正在使用JDK 7,Axis2 1.6,Rampart 1.6和Jython 2.5.0。

如果使用Axis2 1.5和Rampart 1.5进行相同的操作,则可以正常工作。

我正在呼叫Web服务中的Jython执行Python脚本。

refresh.py

#!/usr/bin/python
import os
import subprocess
print "refresh script"

摘录从Web服务方法调用Python脚本

PythonInterpreter interp = new PythonInterpreter();
interp.execfile("/root/Documents/refresh.py");

一旦调用了execfile(),它给出了以下错误

文件"/root/documents/refresh.py",第2行,in 导入OS文件"/root/documents/tomcat/webapps/refresh/web-inf/lib/jython.jar/lib/lib/os.py", 第48行,在sun.misc.invalidjarindexexexception中:无效索引

OS.PY中的第48行实际上是从Jython.jar导入Java类。我还尝试过导入线程,它在第5行失败了,它再次引用了Jython.jar的Java类。

我找到了解决此问题的解决方法。

创建了一个servlet,可以从init()方法中拨打jython调用。配置了此Servlet以加载启动。

一旦部署了Web应用程序并加载了所有Web服务,Servlet将加载所有必需的Jython类,并将其重复使用以用于后续Web服务呼叫。

相关内容

  • 没有找到相关文章

最新更新