docker容器中的Java.nio.file.NoSuchFileException
我已经创建了一个创建文件的应用程序。该应用程序在intellij中工作,当我将其导出为jar文件时。但是,当我从中创建并运行docker容器时,我会得到一个Java.nio.file.NoSuchFileException 这是我的docker文件:docker容器中的Java.nio.file.NoSuchFileException,java,docker,containers,Java,Docker,Containers,我已经创建了一个创建文件的应用程序。该应用程序在intellij中工作,当我将其导出为jar文件时。但是,当我从中创建并运行docker容器时,我会得到一个Java.nio.file.NoSuchFileException 这是我的docker文件: FROM openjdk:8-jdk-alpine ADD ./initializr.jar initializr.jar EXPOSE 8089 ENTRYPOINT ["java", "-jar", &q
FROM openjdk:8-jdk-alpine
ADD ./initializr.jar initializr.jar
EXPOSE 8089
ENTRYPOINT ["java", "-jar", "initializr.jar"]
这是我正在使用的目录
private final String path=System.getProperty(“user.dir”)+“\\generatedFiles\\”;
通常,如果generatedFiles文件夹丢失,它会创建generatedFiles文件夹,因此我猜Systen.getProperty不起作用?您可以进入docker容器,检查您期待的文件夹是否存在。您可以通过
docker exec-it容器\u name/bin/bash
来完成。
另外,我认为对于使用
File.separator的fs分隔符更好。Unix使用“/”作为路径分隔符,请尝试使用
private final String path = System.getProperty("user.dir") + File.separator + "generatedFiles" + File.separator;
胡乱猜测(我不是Java专家):因为您在Linux容器中运行,\\as路径分隔符不起作用。尝试使用/(或者更好,操作系统不可知的东西)@FrankSchmitt很可能是这样,我必须尝试一下。