gpt4 book ai didi

java - Apache POI SXSSFWorkbook 在单独自动运行时无法创建工作表

转载 作者:行者123 更新时间:2023-12-01 17:22:21 27 4
gpt4 key购买 nike

我正在自动化从 HDFS 读取文件到达时间,并在所有系统的 Excel 工作表中填充数据,并在超过阈值时间时对计时进行着色。我已经使用 shell 脚本和 java 进行 Excel 处理来完成这些工作。在 shell 脚本中调用 jar。该 shell 脚本被添加到 StartOftheDay.sh 文件中,以便每天早上 5 点从 CONTROL-M 触发。当像上面一样自动运行时,我遇到以下错误,

java.lang.RuntimeException: java.io.IOException: Permission denied
at org.apache.poi.xssf.streaming.SXSSFWorkbook.createAndRegisterSXSSFSheet(SXSSFWorkbook.java:662)
at org.apache.poi.xssf.streaming.SXSSFWorkbook.createSheet(SXSSFWorkbook.java:679)
at org.apache.poi.xssf.streaming.SXSSFWorkbook.createSheet(SXSSFWorkbook.java:90)
at com.excel.ExcelReadWrite.convertCsvToXls(ExcelReadWrite.java:141)
at com.excel.ExcelReadWrite.main(ExcelReadWrite.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:61)
Caused by: java.io.IOException: Permission denied
at java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.io.File.createTempFile(File.java:2024)

导致此错误的一段java代码,

    Workbook workBook = new SXSSFWorkbook();
sheet = (SXSSFSheet) workBook.createSheet("Sheet1"); -- Here

调用 jar 的 shell 脚本片段

java -jar /CTRLFW/CRR/prd/crr_strata/appl/sourcing/file_watcher/bin/Daily_Run/Scripts/CsvToExcel.jar $RUN_DATE $COLUMN_TO_APPEND

调用上述 shell 脚本的 shell 脚本

nohup sh /CTRLFW/CRR/prd/crr_strata/appl/sourcing/file_watcher/bin/Daily_Run/Scripts/Prd_stats.sh $DAILY_STATUS_DATE >> /CTRLFW/CRR/prd/crr_strata/log/file_watcher/Daily_Run/${BATCH_ID}/Prd_stats.${BATCH_ID}.out &

每天早上 5 点从 CONTROL-M 调用上述 shell 脚本

但是如果我从脚本手动运行上述相同的命令,它会按预期完美工作。

帮我解决这个问题。

最佳答案

在调用 Java jar 之前,我已将此“java.io.tmpdir”变量设置为 shell 脚本中的项目文件夹之一。过去 2 天开始工作并运行良好

export _JAVA_OPTIONS=-Djava.io.tmpdir=/CTRLFW/CRR/prd/crr_strata/log/file_watcher/Daily_Run/temp/

关于java - Apache POI SXSSFWorkbook 在单独自动运行时无法创建工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61269231/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com