- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想用 Java 调用我的 Python 类,但收到错误消息:
Manifest com.atlassian.tutorial:myConfluenceMacro:atlassian-plugin:1.0.0-SNAPSHOT : Classes found in the wrong directory
我通过 jar 在我的电脑上安装了 Jython。并将其添加到我的 pom 中(因为我使用的是 Maven 项目)。我究竟做错了什么?如何在 java 类中调用 python 方法?
我正在使用 python3。
<!-- https://mvnrepository.com/artifact/org.python/jython-standalone -->
<dependency>
<groupId>org.python</groupId>
<artifactId>jython-standalone</artifactId>
<version>2.7.1</version>
</dependency>
package com.atlassian.tutorial.javapy;
import org.python.core.PyInstance;
import org.python.util.PythonInterpreter;
public class InterpreterExample
{
PythonInterpreter interpreter = null;
public InterpreterExample()
{
PythonInterpreter.initialize(System.getProperties(),
System.getProperties(), new String[0]);
this.interpreter = new PythonInterpreter();
}
void execfile( final String fileName )
{
this.interpreter.execfile(fileName);
}
PyInstance createClass( final String className, final String opts )
{
return (PyInstance) this.interpreter.eval(className + "(" + opts + ")");
}
public static void main( String gargs[] )
{
InterpreterExample ie = new InterpreterExample();
ie.execfile("hello.py");
PyInstance hello = ie.createClass("Hello", "None");
hello.invoke("run");
}
}
class Hello:
__gui = None
def __init__(self, gui):
self.__gui = gui
def run(self):
print ('Hello world!')
谢谢!
最佳答案
您的 Python 类中的缩进错误。正确的代码是:
class Hello:
__gui = None
def __init__(self, gui):
self.__gui = gui
def run(self):
print ('Hello world!')
这样 __init__()
和 run()
是 Hello
类的方法,而不是全局函数。否则你的代码可以很好地工作。
请记住,Jython 的最新版本是 2.7.1 - 它与 Python3 不兼容。
关于java - Jython - 在 Java 中调用 Python 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53208475/
我创建了一个 Jython 应用程序,我想将其分发给我的 friend 。我不希望他们必须自己安装 Jython。他们只安装了 Java SE (JRE),而我想以一种只需双击文件即可运行该应用程序的
我写了一个Java例子,代码是: import org.python.core.PyObject; import org.python.util.PythonInterpreter; import j
我正在尝试对 Windows 使用复制命令,并且我们有 c:\oracle 等目录。 在尝试执行这样的一个时,我们收到以下错误: source_file=folder+"\"
我想知道是否有人在安装程序自动化期间通过 UAC 弹出窗口实现自动化? 我有一个现有的自动安装程序代码,但由于 Sikuli 在此步骤中未使用键盘/鼠标,它在 UAC 区域失败... 有人在这里有运气
您好,我正在尝试使用 jython 建立 mysql 数据库连接。我正在使用 Python 3.3.2 和 Jython 2.5.3 我的代码是这样的: import sys from java.sq
我正在用 python 编写一个与 ldap 服务器通信的包。我希望它在 CPython 和 Jython 中工作。为了让它与 CPython 一起工作,我已经成功地针对 python-ldap 进行
我从 jython.org 下载了 jython_installer-2.5.2.jar。 打开终端并输入以下命令:- java -jar jython_installer-2.5.2.jar 它安装
我正在尝试在 Jython 上使用 pytest。我一开始就被卡住了。 我已经使用easy_install成功安装了pytest包: $ ./jython easy_install pytest 当我
我正在尝试将 jython 程序打包到一个可执行 jar 中,用户只需双击即可运行,而无需提前安装 jython。最终,我想包含一个我用 jar 编写的附加库,但目前我只是想打包一个简单的程序并让它从
我正在使用 jython 并调用一些自定义 Java API,我添加了我需要的所有 jar 或我在我的代码中使用的 jython 仍然提示一个类,因为它找不到 (NoClassDefFoundErro
我有一个使用 urllib2 通过 https 协议(protocol)获取页面的 python 程序: urllib2.urlopen('https://mywebsite') 我使用 python
Jython 2.5 默认带有 JLine。 我更愿意将交互式解释器与 rlwrap 一起使用.如果 JLine 处于事件状态,rlwrap 似乎不起作用。 在 Scala 中,我会使用 rlwrap
我在安装 numpy-1.6.1 时遇到问题。它说 NotImplementedError 我使用 eclipse 和 jython 进行开发。 命令窗口: C:\Program Files\jyth
现在有人知道 sympy 0.7.1 是否可以与 Jython 一起使用吗? 最佳答案 不,它不起作用 - 我认为它甚至不导入。有an open issue for this在 sympy 的错误跟踪
我是 Jython 的新手。我从这里下载了一个 jar 文件 http://www.jython.org/downloads.html 下载 Jython 2.7beta1 - jython.jar
我在我的java应用程序中以编程方式使用jython解释器(PythonInterpreter),并且我想添加一个特定的类,例如。 MyJythonLib 作为 Jython 导入模块,以便我的 Jy
我想像这样使用循环变量定义一个路径: for i in range(2,4): click("1480530304554.png") wait("1480531095180.png")
我有几个关于 WLST 和 Jython 的问题: 操作系统:Unix/Linux 情况: 1) 无法包含wlst-file使用 writeIniFile 创建自动 2) 使用 org.python.
我创建了一个默认的 Maven Java 项目并添加了以下依赖项: org.python jython 2.7.0 然后我创建了一个包src/main/java/mypkg并添加了此类
聪明的人, 我想在我的 jython 程序中使用很棒的请求模块。它在 python 中安装和运行得很好,但我无法在 jython 中安装它。我已经在 mac 和 ubuntu 上尝试了 Jython
我是一名优秀的程序员,十分优秀!