1

更新问题:

谢谢法沃雷蒂!

我使用apt-get安装了jcc,pylucene下的makefile运行了一点,抛出了一个java错误,我不知道。这里是。你能告诉我这是什么错误吗?

While loading org/apache/pylucene/search/PythonIntParser
Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/usr/lib/python2.7/dist-packages/jcc/__main__.py", line 98, in <module>
    cpp.jcc(sys.argv)
  File "/usr/lib/python2.7/dist-packages/jcc/cpp.py", line 549, in jcc
    cls = findClass(className.replace('.', '/'))
  File "/usr/lib/python2.7/dist-packages/jcc/cpp.py", line 73, in findClass
    cls = _findClass(className)
jcc.cpp.JavaError: java.lang.UnsupportedClassVersionError: org/apache/pylucene/search/PythonIntParser : Unsupported major.minor version 51.0
Java stacktrace:
java.lang.UnsupportedClassVersionError: org/apache/pylucene/search/PythonIntParser : Unsupported major.minor version 51.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)

make: *** [compile] Error 255
4

2 回答 2

2

如果您的 python 在 /usr/bin/python 中,即系统 python 并且来自您的发行版提供的包 - 默认情况下它可能不在 /usr/local/lib/python2.7/site-packages/jcc 中。

您可以尝试将 PYTHONPATH 环境变量设置为 /usr/lib/python2.7:/usr/local/lib/python2.7 并尝试这样编译,否则只需将 jcc 包移动到 /usr/lib/python2.7 .

这是假设您的 python 安装来自系统默认包,并且它的“主”位置是 /usr/lib/python2.7。

希望这可以帮助。

于 2011-11-30T01:48:27.427 回答
0

在遵循了 favouretti 和 pradeep 的建议后,如果您仍然遇到问题,请尝试以下操作:

  1. 我建议下载 jcc 并重新安装,详见 http://lucene.apache.org/pylucene/jcc/install.html 安装 jcc 时,请在 jcc 源中打开 setup.py 并确认变量 'linux2' 指向版本你们中的一些人想使用例如'linux2':'/usr/lib/jvm/java-7-oracle' 或者在你的情况下,将参考openjdk。

  2. 进入pylucene源文件夹。确认“PREFIX_PYTHON”应该匹配which python

  3. 在 pylucene 来源中进行“清理”。这应该摆脱早期构建中的陈旧类文件并使用“make”进行重建。这对我有用。

问候萨钦

于 2014-12-30T21:07:55.833 回答