Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
docker映像上的Python脚本引擎为空_Python_Docker_Spring Boot_Java 8_Jython - Fatal编程技术网

docker映像上的Python脚本引擎为空

docker映像上的Python脚本引擎为空,python,docker,spring-boot,java-8,jython,Python,Docker,Spring Boot,Java 8,Jython,我在docker上部署了一个普通的spring boot应用程序。如果应用程序正常启动或部署在tomcat上,脚本引擎可以正常工作。但是如果我在docker上启动它,scriptEngine实例将返回null。有什么想法吗 ScriptEngineManager scriptEngineManager = new ScriptEngineManager(); scriptEngine = scriptEngineManager.getEngineByName("python"); // ret

我在docker上部署了一个普通的spring boot应用程序。如果应用程序正常启动或部署在tomcat上,脚本引擎可以正常工作。但是如果我在docker上启动它,scriptEngine实例将返回null。有什么想法吗

ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
scriptEngine = scriptEngineManager.getEngineByName("python");  // returns null

事实证明,jython库需要从spring boot应用程序中为docker解包。maven中的以下配置也可用于docker

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <requiresUnpack>
            <dependency>
                <groupId>org.python</groupId>
                <artifactId>jython-standalone</artifactId>
            </dependency>
        </requiresUnpack>
    </configuration>
</plugin>

org.springframework.boot
springbootmaven插件
org.python
jython单机版

docker映像中的java版本是什么?docker中的Openjdk 8。您是否尝试使用Openjdk 8正常运行应用程序?是的,应用程序使用Openjdk正常工作。另外,它可以很好地使用javascript脚本,只是不能在docker image类路径中使用pythonit的jython.jar?我在尝试从maven构建的jar运行时遇到了同样的问题。这种解包配置在这方面非常有效。我在Spring文档上看到它是用来打开“肥罐子”的。你怎么知道jython standalone是一个需要拆包的胖罐子?我正在努力确保我明白万一将来发生这种情况,我不清楚哪些罐子需要拆开包装。