在我尝试将 Jython 与 Apache-POI 一起使用时,Jython 独立 jar 抛出 ImportError 异常。
下面您将看到我如何调用我的 Jython 脚本:
java -cp C:\jAutoMailerScript\lib\poi-3.9-20121203.jar -jar jython.jar main.py
错误:
追溯(最近调用最后):
文件“main.py”,第 32 行,在
从 org.apache.poi.hssf.usermodel 导入 *
ImportError: 没有名为 apache 的模块
这是第 32 行的代码:
from org.apache.poi.hssf.usermodel import *
为了使用 Java 的第三方应用程序,Jython 是否有任何限制?
提前致谢
最佳答案
您不能同时使用-cp
和-jar
。 -jar
选项覆盖任何其他类路径设置。参见 http://docs.oracle.com/javase/7/docs/technotes/tools/windows/java.html .
使用 python.path
系统属性应该有效:
java -Dpython.path=C:\jAutoMailerScript\lib\poi-3.9-20121203.jar -jar jython.jar main.py
这是一个替代命令:
java -cp C:\jAutoMailerScript\lib\poi-3.9-20121203.jar;jython.jar org.python.util.jython main.py
然而,事实证明这些命令都不能用于 standalone Jython .你得到一个 ImportError
,就像它在问题中所说的那样。有一个似乎相关的旧开放错误:http://bugs.jython.org/issue1422 (它说 Solaris 上存在问题,但据我所知,它也适用于其他平台)。
使用 installed Jython jython
命令工作正常:
jython -Dpython.path=C:\jAutoMailerScript\lib\poi-3.9-20121203.jar main.py
请注意,独立的 jython.jar 包含标准库 Python 模块(在 Lib
文件夹中)。这些模块不包含在安装 Jython 后获得的 jython.jar 中。
我希望这个答案对您有所帮助,即使它可能无法完全解决您的问题。
关于java - 独立 Jython : Import Error (Apache-POI),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15016039/