为什么mac上curl -O -C下载失败

为什么mac上curl -O -C下载失败

以下脚本适用于 Ubuntu,但不适用于 Mac。为什么?如何编辑它以便它也能在那里工作?

#!/bin/sh

v=1.1
test_file="Test10.java"
jar_file="dp4j-$v-jar-with-dependencies.jar"

curl -O "http://repo2.maven.org/maven2/com/dp4j/dp4j/$v/$jar_file"

# Start
cat > $test_file << __EOF__
class T10 {
    private static void p(int i, Double d, String... s){}
}
public class Test10{
    @com.dp4j.InjectReflection
    public void t() {
   T10.p(1,new Double(2),"hello", "reflection");
    }
}
__EOF__
cat $test_file
cmd="javac -Averbose=true -cp $jar_file $test_file"
echo $cmd
$cmd

Mac 上的输出:

$ sudo ./TESTDRIVE
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  341k  100  341k    0     0  1516k      0 --:--:-- --:--:-- --:--:-- 3248k
class T10 {
    private static void p(int i, Double d, String... s){}
}
public class Test10{
    @com.dp4j.InjectReflection
    public void t() {
  T10.p(1,new Double(2),"hello", "reflection");
    }
}
javac -Averbose=true -cp dp4j-1.1-jar-with-dependencies.jar Test10.java
error: error reading dp4j-1.1-jar-with-dependencies.jar; cannot read zip file
...

$ md5 dp4j-1.1-jar-with-dependency.jar MD5 (dp4j-1.1-jar-with-dependency.jar) = eb04d0d357fd861ac414fde7d3530119

答案1

卷曲-L

作品。它甚至遵循重定向。我发现了这一点在这个答案中。参考工作脚本

答案2

您是否检查过是否确实获得了 .jar 文件?许多下载链接都会静默重定向到文件实际所在的位置,因此您可能只下载了Location: ...CURL 未遵循的重定向的几个字节。

在文本编辑器中打开 .jar 文件并查看您获得的内容。真正的 .jar 应该以“PK”开头(因为它是 .zip 文件)。

相关内容