docker映像上的Python脚本引擎为空
我在docker上部署了一个普通的spring boot应用程序。如果应用程序正常启动或部署在tomcat上,脚本引擎可以正常工作。但是如果我在docker上启动它,scriptEngine实例将返回null。有什么想法吗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
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是一个需要拆包的胖罐子?我正在努力确保我明白万一将来发生这种情况,我不清楚哪些罐子需要拆开包装。