2010-09-30 47 views
3

我在CVS中有代碼,當我檢出代碼並在我的Windows盒子上執行ANT構建時,我收到以下錯誤。在Windows上的CVS簽出ANT構建:無效的CEN頭(壞簽名)

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從命令行檢查出來,在Windows XP上使用JDeveloper和Eclipse都具有相同的結果。我在網絡上看到JARs已經損壞但是看起來很奇怪,因爲相同的JAR會在Linux上編譯得很好。我試過刪除並使用新的JAR。從命令行我使用CVSNT獲得相同的結果。 謝謝, 湯姆

回答

3

值得檢查的一件事是,罐子是否被無意中添加到CVS作爲非二進制文件。從而破壞一個 -

可以使用

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

在Windows系統退房非二進制文件的可導致一個字符 行結束轉換爲兩個字符將其標記爲二進制真正的二進制像一個罐子。 當您在unix/linux系統上籤出與 相同的文件時,您可能不會注意到這一點,但在退出時沒有針對「文本」文件的特殊處理。

此外,如果從Windows系統檢入作爲文本文件(由於行結束轉換)以及關鍵字替換,二進制文件可能會損壞。

+0

這樣做謝謝馬丁 – 2010-09-30 15:44:14

相關問題