2010-09-30 48 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

相关问题