jython 导入java包_无法从Jython模块导入Java类

注意:我找到了解决方案并回答了我自己.虽然我不知道为什么这个设置是错误的,造成了这个问题.我仍然有兴趣对Jython导入系统如何工作有一个很好的解释;如果有人关心获得赏金,请回答.

我正在开发一个现有的Java EE项目,我需要在Python中进行计算.我正处于集成测试的第一阶段,但我已经面临一个问题.我读了Chapter 10 of Jython book,但仍然找不到解决方案.我也读了Chapter 8(代码重用的模块和包),但对我来说这是不清楚的.

关于Jython导入系统如何工作以及如何配置它的解释将非常感谢.

问题:

$jython -v

import: 'exceptions' as org.python.core.exceptions in builtin modules

Jython 2.5.3 (2.5:c56500f08d34+, Aug 13 2012, 14:54:35)

[Java HotSpot(TM) Server VM (Oracle Corporation)] on java1.7.0_10

import: import site # precompiled from /home/me/jython/2.5.3/Lib/site$py.class

import: 'sys' as sys in builtin modules

import: import os # precompiled from /home/me/jython/2.5.3/Lib/os$py.class

import: 'errno' as org.python.modules.errno in builtin modules

import: 'posix' as org.python.modules.posix.PosixModule in builtin modules

import: import posixpath # precompiled from /home/me/jython/2.5.3/Lib/posixpath$py.class

import: import stat # precompiled from /home/me/jython/2.5.3/Lib/stat$py.class

import: 'java' as java package

import: 'File' as java class

import: 'IOException' as java class

import: 'org' as java package

import: 'Py' as java class

Type "help", "copyright", "credits" or "license" for more information.

>>> import pendulum.generator.BuildingType

import: import pendulum # precompiled from /path/to/project/build/classes/pendulum/__init__$py.class

import: import pendulum.generator # precompiled from /path/to/project/build/classes/pendulum/generator/__init__$py.class

Traceback (most recent call last):

File "", line 1, in

ImportError: No module named BuildingType

我的问题是:我做错了什么,如何解决问题,以便成功导入BuildingType接口?也许CLASSPATH中存在问题,但我不知道哪个值可以适用.

代码组织:

$tree build/classes/pendulum/generator/ src/pendulum/generator/

build/classes/pendulum/generator/

├── BuildingType.class

├── __init__.py

└── __init__$py.class

src/pendulum/generator/

├── BuildingType.java

└── __init__.py

$cat ~/.jython

python.path=\

/path/to/project/build/classes:\

/path/to/project/src:\

/home/me/jdevel/extras/2.5.3/Lib:\

/home/me/jdevel/extras/2.5.3/Lib/site-packages

我确定Jython拾取路径,因为我在Jython提示符下使用sys.path检查.

BuildingType.java

package pendulum.generator;

public interface BuildingType {

public String getBuildingName();

public String getBuildingAddress();

public String getBuildingId();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值