[英]Why does un-jar then jar again break my Spring Boot web app?
我構建了一個具有嵌入式 tomcat 服務器的 Spring Boot Web 應用程序(使用 Eclipse/STS)。
我需要對 WAR 文件中的類做一些(混淆)操作,然后將其再次壓縮,但在我嘗試之前,我先解壓縮,然后再次壓縮以確保可以正常工作。
但是當我解壓縮它然后將它壓縮回來時它不會再運行......
重現步驟:
像這樣運行應用程序... java -jar myapp.war
... 它工作正常。 殺死應用程序。
像這樣“解壓縮”戰爭... jar -xf myapp.war
... 提取所有內容。
刪除原來的war文件... rm myapp.war
像這樣將內容“重新壓縮”成一場戰爭...... jar -cfv myapp.war .
運行新的war文件... java -jar myapp.war
... 我收到一個錯誤...
no main manifest attribute, in myapp.war
當我提取新的 war 文件的內容時,我看到我原來的 /META-INF/MANIFEST.MF 文件已被替換為:
Manifest-Version: 1.0
Created-By: 1.7.0_06 (Oracle Corporation)
我可能在上面的步驟 (4) 中做錯了什么。 有任何想法嗎? 我應該做“Spring Boot”特定的事情嗎?
看起來我想通了......我必須使用m
選項並指定這樣的清單文件......
jar -cfm myapp.war ./META-INF/MANIFEST.MF .
我錯誤地認為它只會包含該目錄中的現有清單文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.