[alibaba/easyexcel]在tmp文件夹中创建的poifiles会有权限问题

2024-05-24 728 views
2

触发场景描述 在一台服务器不同用户下部署相同的应用 触发Bug的代码 public static void createPOIFilesDirectory() {

    String tmpDir = System.getProperty(JAVA_IO_TMPDIR);
    if (tmpDir == null) {
        throw new RuntimeException(
            "Systems temporary directory not defined - set the -D" + JAVA_IO_TMPDIR + " jvm property!");
    }
    File directory = new File(tmpDir, POIFILES);
    if (!directory.exists()) {
        syncCreatePOIFilesDirectory(directory);
    }

}

提示的异常或者没有达到的效果 在linux下,打个比方在dev执行导出,会在tmp下创建poifiles文件夹,创建用户是dev,同时在test下执行导出,test用户没有poifiles文件夹权限导致io异常,报无权限,导致导出失败

回答

3

这个比较复杂 需要考虑下。

1

poifiles的文件夹名不要写死就行,比如poifile_dev,不然所有用户都共用一个poifiles,目前是通过777来解决

8

同样遇到这个问题

3

已经在2.1.3里面解决