簡體   English   中英

Maven /從構建中刪除時間戳

[英]Maven/Removing timestamps from build

可能有一個不尋常的問題。

我正在從源代碼構建apache-log4j-1.2.17,並且一切正常,但是我想稍微修改一下流程,不知道如何做。

即,我想從清單文件中刪除Bnd-LastModified屬性,並從pom.properties文件中刪除時間戳注釋。 我想念任何配置嗎? 我可以“手動”刪除它們(shell腳本),但這似乎是錯誤的。

我打算比較ZIP文件的MD5,以確定在部署期間是否需要上載OSGi軟件包JAR。 我假設如果捆綁包JAR中的文件相同,那么捆綁包JAR本身將是相同的。 在構建之間,我發現您描述的時間戳是構建之間唯一的文件內差異。 在使用shell腳本提取了這些時間戳(使所有文件相同)之后,我發現由於文件時間戳,捆綁JAR仍然不同。

最后,我比較了兩個捆綁JAR的unzip -lv輸出,以確定是否相等:

lhash=$(unzip -lv $HOME/staging/$bundle | sed -ne '/---/,/---/p' | sed -e '1d;$d;' | awk '{L="";for(i=1;i<NF;i++){if(i<5 || i>6){L = L " " $bundle}}print L}' | md5)
rhash=$(ssh -i $HOME/.ssh/keys/keyfile.pem user@$host "unzip -lv ~ubuntu/bundles/$bundle | sed -ne '/---/,/---/p' | sed -e '1d;\$d;' | awk '{L=\"\";for(i=1;i<NF;i++){if(i<5 || i>6){L = L \" \" \$bundle}}print L}' | md5sum | awk '{print \$1}'")
if [ "$lhash" = "$rhash" ]
then
    different=f
else
    different=t
fi

我的本地計算機是Mac,遠程計算機正在運行ubuntu,因此md5md5sum awk廢話是從unzip -l輸出中刪除時間戳。 碼完成后,如果differentt ,然后將文件是不同的; 否則,文件是相同的。

我有一個同樣的問題,我剛剛在Google上找到標題問題的答案。 我知道這對您來說已經晚了一年左右。

<plugin>
  <groupId>org.apache.felix</groupId>
  <artifactId>maven-bundle-plugin</artifactId>
  <configuration>
    <archive>
    <addMavenDescriptor>false</addMavenDescriptor>
    </archive> 
    <instructions>   
      <_removeheaders>Bnd-LastModified</_removeheaders>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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