标签: jython

Jython说"没有类似的可见构造函数"

我有一个jython servlet作为在tomcat5中运行的大型应用程序的一部分.我测试了一些Spring Framework类并在Jython servlet中创建了对象.当我尝试在应用程序中创建类的对象时,我捕获一个异常消息"没有可见的类构造函数".这些java类确实有一个公共构造函数类,例如:

public SchoolImpl() { }

我在python中创建对象:

from com.dc.sports.entity import SchoolImpl

...

school = SchoolImpl()

我究竟做错了什么?

python java tomcat servlets jython

5
推荐指数
1
解决办法
1772
查看次数

Python需要一个GIL.但Jython和IronPython没有.为什么?

为什么你可以在不需要GIL但是Python(CPython)需要GIL的情况下运行Jython和IronPython?

python multithreading ironpython jython gil

5
推荐指数
2
解决办法
1940
查看次数

在Java项目中与Java配对的最佳动态语言

在大型Java项目中与Java配对的最佳动态语言是什么?

我们正在考虑使用动态语言进行测试,控制器和服务.一些选项是Groovy,JRuby或Jython.每个人的优点和缺点是什么?理想情况下,我们可以从动态语言调用Java,也可以从Java调用动态语言.

编辑:如果有帮助,我们将Hibernate与PicoContainer和Webwork一起使用.

谢谢,亚历克斯

java groovy dynamic-languages jython jruby

5
推荐指数
1
解决办法
1813
查看次数

如何在eclipse/Android中使用--core-library选项

试图建立一个项目,该项目是Jythonroid.我设法解决所有错误,但它不会编译.界面建议使用--core-library选项.知道如何在Android的eclipse中设置此标志.

干杯

java eclipse android jython

5
推荐指数
1
解决办法
4245
查看次数

Python/jython在virtualenv中共存

我将Python代码拆分为Web前端和消费者后端.后端必须在Jython下运行才能与某些Java库进行互操作,但我们想在cpython/mod_wsgi中运行webserver,因为我们已经通过Jetty在Jython中运行了它.

我们使用virtualenv进行开发,我目前有两个virtualenv目录,一个用于cpython,另一个用于jython.我的问题是两个口译员是否可以愉快地共存于一个虚拟语言中(主要是为了节省必须两次更新已安装的库,而且还来自好奇心).我用两个解释器初始化了相同的环境:

virtualenv -p python environ
virtualenv -p jython environ
Run Code Online (Sandbox Code Playgroud)

我可以运行两个解释器,我可以symlink environ/lib/site-packagesenviron/lib/python/site-packages,这样他们就可以看到同一个地方.只要没有库依赖于C扩展/优化,我就不明白为什么它们不能在两个解释器中工作.有人不同意或有任何需要注意的事项吗?

python jython virtualenv

5
推荐指数
1
解决办法
1022
查看次数

从Jython调用重载的Java方法

当我从Jython脚本调用重载的Java方法时,我看到了一些我不理解的奇怪行为.

这是我的Java类:

public class TestClass {
  public static float[][][] overloaded(float[][][] x) {
    return x;
  }
  public static float[][][][] overloaded(float[][][][] x) {
    return x;
  }
  public static float[][][] zeros(int n1, int n2, int n3) {
    return new float[n3][n2][n1];
  }
}
Run Code Online (Sandbox Code Playgroud)

这是我的Jython脚本:

import time,TestClass
n1,n2,n3 = 250,250,250
z = TestClass.zeros(n1,n2,n3)
start = time.time()
TestClass.overloaded([z,z,z])
print 'time =',(time.time()-start)
Run Code Online (Sandbox Code Playgroud)

这个Jython脚本大约需要1分钟才能运行,但如果我在TestClass中注释掉第一个方法,那么脚本几乎不需要任何时间.我很困惑为什么在方法重载时需要这么长时间.我在这里错过了什么吗?

java arrays jython multidimensional-array

5
推荐指数
1
解决办法
565
查看次数

Jython比Python更快吗?

我正试图通过RS232发送一个小程序发送十六进制.从我所看到的Python开始,这是一个非常好的语言.

3年前我在高中新生的compsci课程中学到了它,语法很棒.它非常像伪代码.

然而,从大一开始,我一直在使用Java,Objective-C(上帝保佑我可怜的灵魂)和C#.

无论如何,我想用Python来学习如何使用串行通信.现在我再次看到它我已经"发现"了似乎是python的Jython,但它使用了Java运行时(这是正确的吗?)

我会更喜欢使用像Jython而不是古老的Python这样的东西吗?或者对于通过串行端口发送十六进制这样的"小"任务,我不会注意到差异吗?

如果你打算向我提出问题请你至少告诉我为什么? - 谢谢.

python serial-port jython

5
推荐指数
2
解决办法
3536
查看次数

在jython中使用枚举

试图在Jython中使用Java Enum但我无法弄清楚如何使用它们.

导入时我看到列出的枚举,BotInterface$MOVE所以我放下了这一行

from amazebot2012.BotInterface import MOVE
Run Code Online (Sandbox Code Playgroud)

在Java中,我通常会将其用作

bot.move(MOVE.FORWARD);
bot.move(MOVE.BACKWARD);
Run Code Online (Sandbox Code Playgroud)

一旦我导入它,Jython等价物是什么?

尝试bot.move(MOVE.FORWARD)给我错误:

来自导入的未定义变量:FORWARD

python java jython

5
推荐指数
1
解决办法
1667
查看次数

独立Jython:导入错误(Apache-POI)

在我尝试将Jython与Apache-POI一起使用时,Jython独立jar会抛出ImportError异常.

下面你会发现我如何调用我的Jython脚本:

java -cp C:\jAutoMailerScript\lib\poi-3.9-20121203.jar -jar jython.jar main.py
Run Code Online (Sandbox Code Playgroud)

错误:

Traceback(最近一次调用最后一次):

文件"main.py",第32行,in

来自org.apache.poi.hssf.usermodel import*

ImportError:没有名为apache的模块

这是第32行的代码:

from org.apache.poi.hssf.usermodel import *
Run Code Online (Sandbox Code Playgroud)

为了使用Java的第三方应用程序,Jython是否有任何限制?

提前致谢,

java jython apache-poi

5
推荐指数
1
解决办法
3111
查看次数

Jython不会将PYTHONPATH加载到sys.path中

根据我读过的内容,sys.path应该由PYTHONPATH设置.在Python中,它以这种方式工作,但不是在Jython中.我可以绕过-Dpython.path=...但我想知道Jython为什么打得不好.

qa@Scantron:/tmp/pip-build-qa/robotframework> echo $PYTHONPATH
/usr/lib64/python2.7
qa@Scantron:/tmp/pip-build-qa/robotframework> jython
Jython 2.2.1 on java1.7.0_17
Type "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/usr/share/jython/Lib', '__classpath__']
>>> ^D
qa@Scantron:/tmp/pip-build-qa/robotframework> jython -Dpython.path=/usr/lib64/python2.7
Jython 2.2.1 on java1.7.0_17
Type "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/usr/share/jython/Lib', '/usr/lib64/python2.7', '__classpath__']
Run Code Online (Sandbox Code Playgroud)

python jython path

5
推荐指数
1
解决办法
5906
查看次数