簡體   English   中英

Windows上的CVS簽出ANT Build:無效的CEN頭(簽名錯誤)

[英]CVS checkout on windows ANT Build: invalid CEN header (bad signature)

我在CVS中有代碼,當我簽出代碼並在我的Windows機器上進行ANT構建時,我收到以下錯誤。

Buildfile: C:\Java\JDeveloper\library\build.xml

compile:
    [javac] Compiling 181 source files to C:\Java\JDeveloper\library
    [javac] error: error reading C:\Java\JDeveloper\library\lib\jdom.jar; invalid CEN header (bad signature)
    [javac] error: error reading C:\Java\JDeveloper\library\lib\tidy.jar; invalid CEN header (bad signature)
    [javac] error: error reading C:\Java\JDeveloper\library\lib\parser.jar; invalid CEN header (bad signature)
    [javac] error: error reading C:\Java\JDeveloper\library\lib\syslog.jar; invalid CEN header (bad signature)
    [javac] error: error reading C:\Java\JDeveloper\library\lib\regexp.jar; invalid CEN header (bad signature)
    [javac] 5 errors

BUILD FAILED

我已多次檢查過它。 這段代碼將在我的linux盒子上簽出並構建好。 我已經嘗試從命令行使用CVS檢查它,使用JDeveloper和Eclipse在Windows XP框中使用相同的結果。 我在網上看到JAR已損壞的帖子,但這看起來很奇怪,因為相同的JAR將在linux盒子上正常編譯。 我嘗試刪除和使用新的JAR。 從命令行我使用CVSNT得到了相同的結果。 謝謝,湯姆

值得檢查的一件事是,無意中將罐子作為非二進制文件添加到CVS中。

您可以使用標記為二進制

cvs admin -kb <jar>
cvs update -A <jar>

在Windows系統上,檢出非二進制文件可能導致將單字符行結尾轉換為雙字符 - 這會像jar一樣破壞真正的二進制文件。 在unix / linux系統上簽出相同的文件時你可能不會注意到這一點,因為在簽出時沒有對“text”文件進行特殊處理。

此外,如果由於行結束轉換和關鍵字替換而從Windows系統作為文本文件簽入,則二進制文件可能會損壞。

暫無
暫無

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

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