您好,登錄后才能下訂單哦!
這篇文章主要介紹了如何解決springboot項目打成jar包后運行時碰到的問題,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
我的springboot項目中有用的一段代碼是往static目錄下添加文件獲取路徑的代碼如下
String path=ResourceUtils.getURL("classpath:static/task").getPath().replace("%20"," ");
部署阿里云的服務器上,通過運行jar包的形式運行的時候,發現運行到這部分代碼的時候,獲取到staic/task路徑后通過路徑創建文件的時候會出現問題
windows系統會報異常
linux系統會在跟jar同級目錄下創建獲取的目錄及文件夾)
顯然這些都不是我們想要的
保持原來的項目結構,將jar包解壓后通過運行springboot啟動類來啟動項目
解壓jar命令:
jar xvf 文件名.jar 解壓到當前目錄
運行class命令可參考
nohup java -cp .:/opt/homework/BOOT-INF/lib/* lemon.homework.HomeworkApplication >/opt/homework/temp.txt
后臺運行class且加入依賴的jar包并將日志文件輸出至temp.txt:
用的thymeleaf模版,把html文件放在resources的templates目錄下面。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
控制層代碼為:
@RequestMapping("login") public String login(String code, HttpServletResponse response, HashMap<String, Object> map) { logger.debug("code:" + code); return "/login"; }
在eclipse訪問是沒有問題的,可以正常訪問到界面。
但是打jar包后,java -jar運行時,提示找不到login模版。
去掉視圖名稱中的"/"就好了。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“如何解決springboot項目打成jar包后運行時碰到的問題”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。