gpt4 book ai didi

swing - 为什么 Jython 拒绝找到我的 Java 包?

转载 作者:行者123 更新时间:2023-12-04 00:24:13 25 4
gpt4 key购买 nike

我知道这很愚蠢,但出于某种原因,Jython 拒绝找到 javax.swing。我正在使用 Java 1.6.0_11。这是我的启动脚本:

@echo off

"%JAVA_HOME%\bin\java" -Xmx1024M -classpath ".;c:\Projects\Jython2.5.1\jython.jar" org.python.util.jython

我的输出看起来像:
Jython 2.5.1 (Release_2_5_1:6813, Sep 26 2009, 13:47:54)
[Java HotSpot(TM) Client VM (Sun Microsystems Inc.)] on java1.6.0_10
Type "help", "copyright", "credits" or "license" for more information.
>>> import javax.swing
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named swing
>>> import javax
>>> dir(javax)
['__name__']
>>>

最佳答案

很可能 Jython 没有扫描您的包。在启动时,Jython 尝试通过其路径上的 jar 和类文件并扫描 Java 包。这是必要的,因为无法通过反射查找 Java 包。可以故意关闭包扫描,或者您可能缺乏写入权限,因为它想将缓存信息写出,请参阅 http://wiki.python.org/jython/PackageScanning更多。导入 Java 类的最佳方法是逐个类地显式导入,如下所示:

from javax.swing import JFrame

这种方法应该始终有效,即使包扫描关闭或以其他方式无法工作,并且是推荐的方法(尽管它可能有点乏味)。如果您确实想导入包(或者如果您想要执行“from javax.swing import *”,这也取决于包扫描 - 但不鼓励),您需要弄清楚为什么您的包扫描不起作用。

关于swing - 为什么 Jython 拒绝找到我的 Java 包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1681849/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com