收納目錄
- 文件下載失敗(POI)
- 項目啟動失敗(MAVEN)
1.文件下載失敗(POI)
異常信息:
Caused by: java.io.IOException: The system cannot find the path specified
at java.io.WinNTFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(Unknown Source)
at java.io.File.createTempFile(Unknown Source)
at org.apache.poi.util.TempFile$DefaultTempFileCreationStrategy.createTempFile(TempFile.java:105)
at org.apache.poi.util.TempFile.createTempFile(TempFile.java:60)
at org.apache.poi.xssf.streaming.SheetDataWriter.createTempFile(SheetDataWriter.java:80)
at org.apache.poi.xssf.streaming.SheetDataWriter.<init>(SheetDataWriter.java:63)
at org.apache.poi.xssf.streaming.SheetDataWriter.<init>(SheetDataWriter.java:68)
at org.apache.poi.xssf.streaming.SXSSFWorkbook.createSheetDataWriter(SXSSFWorkbook.java:295)
at org.apache.poi.xssf.streaming.SXSSFSheet.<init>(SXSSFSheet.java:75)
at org.apache.poi.xssf.streaming.SXSSFWorkbook.createAndRegisterSXSSFSheet(SXSSFWorkbook.java:636)
... 115 more
出錯原因:使用POI導出文件時會在服務器的臨時文件夾中生成臨時文件,當前若無該文件夾或沒有操作該文件的權限,則下載失敗。
解決方案:查看tomcat的臨時文件夾(TOMCAT_HOME\bin\catalina.bat文件中的-Djava.io.tmpdir參數,或打開tomcat啟動窗口,“Java”頁中有Java Options屬性的-Djava.io.tmpdir參數),修改此參數值為一個存在并且有操作權限的文件夾路徑;
致謝:
CSDN > shiyonghm > POI導出文件報錯 java.lang.RuntimeException: java.io.IOException: 系統找不到指定的路徑。
2.項目啟動失敗(MAVEN)
異常信息:
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/assm]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
... 7 more
Caused by: java.lang.ClassCastException: org.springframework.web.SpringServletContainerInitializer cannot be cast to javax.servlet.ServletContainerInitializer
at org.apache.catalina.startup.ContextConfig.getServletContainerInitializer(ContextConfig.java:1670)
at org.apache.catalina.startup.ContextConfig.getServletContainerInitializers(ContextConfig.java:1652)
at org.apache.catalina.startup.ContextConfig.processServletContainerInitializers(ContextConfig.java:1562)
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1270)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:878)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:376)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5322)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 7 more
出錯原因:當程序運行時,javax.servlet的依賴jar與tomcat中已經存在的jar產生沖突,致使tomcat啟動失敗。
解決方案:修改MAVEN依賴jar的作用范圍(在依賴節點添加<scope>provided</scope>屬性),避開tomcat的使用時段;
致謝:
CSDN > white1black0 > Caused by: java.lang.ClassCastException: org.springframework.web.SpringServletContainerInitializer c
最后
- 此文不定期修改更新,加油!