Я делаю автоматизацию чтения времени прибытия файла из HDFS и заполнения данных в листе Excel для всех систем и окрашивания времени, если оно перешло пороговое время. Я сделал это с помощью сценария оболочки и java для обработки Excel. вызвал банку в сценарии оболочки. этот сценарий оболочки добавляется в файл StartOftheDay. sh, чтобы запускаться ежедневно в 5:00 из 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
java -jar /CTRLFW/CRR/prd/crr_strata/appl/sourcing/file_watcher/bin/Daily_Run/Scripts/CsvToExcel.jar $RUN_DATE $COLUMN_TO_APPEND
фрагмент сценария оболочки, из которого вышеупомянутый сценарий оболочки вызывается
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 &
выше сценария оболочки, вызываемого из CONTROL-M ежедневно 5 AM
но если я запускаю вышеуказанную команду из сценария вручную, она работает отлично, как и ожидалось.
помогите мне, как это исправить.