python脚本执行后执行Java模块?

问题描述

我将我的应用程序开发分为三个模块,这些模块需要用 2 种语言(Python 和 Java)来完成.在 python 脚本完成执行后,我需要调用 java 实例。可能吗?。

解决方法

如果您在 Java 中使用 Spring,则可以在运行 Python 脚本的地方使用 @PostConstruct 注释。在组件初始化后调用的带注释的方法。举个例子:

import javax.annotation.PostConstruct;

import javax.annotation.PreDestroy;

import org.springframework.stereotype.Component;

@Component
public class MyAmazingComponent {


    @PostConstruct
    private void callScript() {
        Process process;
        try{
            process = Runtime.getRuntime().exec(new String[]{"path/script_python.py","arg1","arg2"});
        
        }catch(Exception e) {
            System.out.println("Exception " + e.toString());
        }

     }
    
    public void doSomething(){...}

}

以上代码需要以下依赖项(当然如果你使用maven并且版本不是必须的,你可以改变它们):

<dependency>
    <groupId>javax.annotation</groupId>
    <artifactId>javax.annotation-api</artifactId>
    <version>1.3.2</version>
</dependency>

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>5.0.6.RELEASE</version>
</dependency>

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...