0

我有一个 jar 文件,它是从 windows 机器复制到 unix 机器上的……通常我们使用 dos2unix 命令转换从 windows 复制的所有文件。当我使用 dos2unix 将 jar 文件转换为 unix 格式时……我收到以下错误...

Exception in thread "main" java.io.IOException: Error opening job jar: hadoop-examples-2.0.0-mr1-cdh4.3.0.jar
        at org.apache.hadoop.util.RunJar.main(RunJar.java:135)
Caused by: java.util.zip.ZipException: invalid END header (bad central directory offset)
        at java.util.zip.ZipFile.open(Native Method)
        at java.util.zip.ZipFile.<init>(ZipFile.java:127)
        at java.util.jar.JarFile.<init>(JarFile.java:135)
        at java.util.jar.JarFile.<init>(JarFile.java:72)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:133)

它在运行 dos2unix 命令之前成功运行...知道为什么会这样吗?

4

1 回答 1

6

不要那样做。文件与ajar相同zip,它是二进制文件。dos2unix用于转换 ASCII 文件(不是二进制文件)中的行尾。

于 2013-11-21T19:17:29.863 回答