![](/img/trans.png)
[英]How to stop Maven/Artifactory from keeping Snapshots with timestamps
[英]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,因此md5
與md5sum
。 awk
廢話是從unzip -l
輸出中刪除時間戳。 碼完成后,如果different
是t
,然后將文件是不同的; 否則,文件是相同的。
我有一個同樣的問題,我剛剛在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.