【问题标题】:Why would a module in a JAR not be found?为什么找不到 JAR 中的模块?
【发布时间】:2013-08-21 12:34:42
【问题描述】:

我正在使用 Jython 使用 Python 脚本在 NetBeans 7 中工作。我正在尝试构建一个 NASA WorldWind 示例。

我已将 JAR 添加到类路径中,包括包含 gov.nasa.worldwind 的 JAR。

代码崩溃了,说

  Traceback (most recent call last):
  File "C:\Users\wrightky\Documents\NetBeansProjects\WW\src\ww.py", line 4, in <module>
  import gov.nasa.worldwind as wwj
  ImportError: No module named gov

我已经将带有“gov”的 JAR 添加到类路径中,甚至手动将 JAR 添加到 Python 包中,在此我可以看到 gov.nasa.worldwind。

我可以添加我的代码,但不确定它是否相关。

为什么会这样?

【问题讨论】:

    标签: java python netbeans-7 jython worldwind


    【解决方案1】:

    从您的问题来看,尚不清楚您是在编译 Java 类文件还是从 Python 编译某些东西,但如果是 Java,您应该知道您不能在 Java 中执行 import X as Y。如果您有冲突的类名,则每次引用它时都必须始终使用完全限定的类名(即gov.nasa.wordwind.SomeClass)。

    查看这个问题了解更多详情: Change Name of Import in Java, or import two classes with the same name

    【讨论】:

    • 代码是 Python,但需要使用 Java 库和 WorldWind JAR。不过我会试试你的建议。
    • 删除 'as Y' 并将 Y 替换为 X 后,我得到相同的错误,即无法找到导入 JAR 中的包 gov。
    • 不幸的是,我是一名 Java 人,对 python 缺乏了解。希望在 Python 方面知识渊博的人能够帮助您。抱歉,我的建议没有帮助。
    • 是的。我不确定将此错误归因于 Python 还是 Java。感谢您的建议。
    【解决方案2】:

    我能够在 Eclipse 中解决这个问题,但我不确定 NetBeans 中的类似解决方案,尽管此时它对我来说并不重要。仅仅导入一个 JAR 文件并不足以声明其功能。它必须添加到解释器库中。

    Window -> Preferences -> PyDev -> Interpreter - Jython -> New Folder (我也做了 New Jar/Zip(s),我认为两者都可以解决问题)并指向目录(或 JAR)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-13
      • 1970-01-01
      相关资源
      最近更新 更多