python和java之间相互调用
python调用java方法。java执行python语句
·
java提供server能力
首先java服务中引用 依赖
<dependency>
<groupId>net.sf.py4j</groupId>
<artifactId>py4j</artifactId>
<version>0.10.7</version>
</dependency>
首先java端定义使用pythonServer网关入口
com.test.EntryPoint
入口
package com.test;
import py4j.GatewayServer;
public class EntryPoint {
private Stack stack;
public EntryPoint() {
stack = new Stack();
stack.push("Initial Item");
}
public Stack getStack() {
return stack;
}
public static void main(String[] args) {
// EntryPoint 为暴露的服务
GatewayServer gatewayServer = new GatewayServer(new EntryPoint(),11111);
gatewayServer.start();
System.out.println("Gateway Server Started");
}
}
python调用java服务。
python调用
推荐基于venv 运行处理
from py4j.java_gateway import JavaGateway, GatewayParameters
// 注意访问端口,需要和暴露的一致
gateway = JavaGateway(gateway_parameters=GatewayParameters(port=11111))
stack = gateway.entry_point.getStack()
random = gateway.jvm.java.util.Random()
value = random.nextInt(10)
stack.push("First %s" % ('item'))
item = stack.pop()
print(item)
print(value)
更多推荐
已为社区贡献1条内容
所有评论(0)