Почему Jython отказывается находить мой пакет Java?

Это не совсем отвечает на вопрос, но, вероятно, решит вашу проблему: используйте механизмы параллелизма более высокого уровня. Ожидание / уведомление обычно более низкого уровня, чем вы хотели бы, по этой причине среди многих других.

Например, если вы использовали BlockingQueue.poll(long, TimeUnit) , вы можете проверить, является ли результат нулевым, чтобы узнать, истекло ли время.

12
задан MikeHoss 10 November 2009 в 19:13
поделиться

2 ответа

Скорее всего, Jython не сканирует ваши пакеты. При запуске Jython пытается просмотреть jar-файлы и файлы классов на своем пути и сканировать пакеты Java. Это необходимо, поскольку невозможно найти пакеты Java с помощью отражения. Сканирование пакетов может быть отключено намеренно или у вас может не быть прав на запись там, где он хочет записать кэшированную информацию, см. http://wiki.python.org/jython/PackageScanning для получения дополнительной информации. Лучший способ импортировать классы Java - делать это явно класс за классом, например:

from javax.swing import JFrame

Этот метод должен всегда работать, даже если сканирование пакетов выключено или не работает по другим причинам, и это рекомендуемый подход (хотя он может быть немного утомительно). Если вы действительно хотите импортировать пакеты (или если вы хотите сделать "from javax.swing import *"

13
ответ дан 2 December 2019 в 06:09
поделиться

I'm using Java 1.6.0_11

No, you're using

[Java HotSpot(TM) Client VM (Sun Microsystems Inc.)] on java1.6.0_10

What happens if you delete the cachedir from the Jython distribution directory, and try again?

Also, why are you explicitly setting the classpath that way? Why not simply

java -jar jython.jar

?

1
ответ дан 2 December 2019 в 06:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: