【问题标题】:CVS checkout on windows ANT Build: invalid CEN header (bad signature)Windows ANT Build 上的 CVS 结帐:无效 CEN 标头(错误签名)
【发布时间】:2010-09-30 13:54:59
【问题描述】:

我在 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 得到了相同的结果。 谢谢, 汤姆

【问题讨论】:

    标签: java ant cvs cvsnt


    【解决方案1】:

    值得检查的一点是 jars 是否被无意中作为非二进制文件添加到 CVS。

    您可以使用将它们标记为二进制文件

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

    在 Windows 系统上,检出非二进制文件可能会导致单字符转换 行尾为两个字符 - 这会破坏像 jar 一样的真正二进制文件。 在 unix/linux 系统上检出相同的文件时,您可能不会注意到这一点 签出时“文本”文件没有特殊处理。

    此外,如果从 Windows 系统作为文本文件签入,由于行结束转换和关键字替换,二进制文件可能会损坏。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-27
      • 1970-01-01
      • 2011-07-24
      • 1970-01-01
      • 2014-07-12
      • 2018-11-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多