我有一个获取外部XLSX资源并使用Apache-POI打开工作簿的JAR
FileInputStream file = new FileInputStream("sheets/template.xlsx");
Workbook workbook = new XSSFWorkbook(file);
当我在本地运行JAR时,一切都运行顺畅,但是,当我在Docker中执行JAR时,JAR似乎在尝试创建工作簿时挂起,没有抛出任何异常,没有。
有什么想法吗?我可以提供更多信息。
修改详情:
/ sheets /目录存在于我的容器的根目录中:
我应该提一下,如果我在本地机器上运行java -jar app.jar,一切都可以顺利运行,具有以下文件结构:
.
+-- app.jar
+-- sheets/
+-- template.xlsx
答案 0 :(得分:2)
该文件的路径对我来说似乎很可疑。 &#34; /sheets/template.xlsx"将意味着您所处环境的根源,但根据您的输出,您不是在容器的根目录中,而是在/ usr / src / app中。尝试取出&#34; /&#34;所以字符串将是&#34; sheets / template.xlsx&#34;,或者将其更改为目录的绝对路径&#34; /usr/src/app/sheets/template.xlsx"。< / p>
在你的盒子上(在docker之外)app.jar是否存在于root中?如果这样可以解释一切。
答案 1 :(得分:0)