簡體   English   中英

為什么 un-jar 然后 jar 再次破壞我的 Spring Boot Web 應用程序?

[英]Why does un-jar then jar again break my Spring Boot web app?

我構建了一個具有嵌入式 tomcat 服務器的 Spring Boot Web 應用程序(使用 Eclipse/STS)。

我需要對 WAR 文件中的類做一些(混淆)操作,然后將其再次壓縮,但在我嘗試之前,我先解壓縮,然后再次壓縮以確保可以正常工作。

但是當我解壓縮它然后將它壓縮回來時它不會再運行......

重現步驟:

  1. 像這樣運行應用程序... java -jar myapp.war ... 它工作正常。 殺死應用程序。

  2. 像這樣“解壓縮”戰爭... jar -xf myapp.war ... 提取所有內容。

  3. 刪除原來的war文件... rm myapp.war

  4. 像這樣將內容“重新壓縮”成一場戰爭...... jar -cfv myapp.war .

  5. 運行新的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM