Ubuntu

為什麼mac上的curl -O -C下載失敗

  • March 6, 2011

以下腳本適用於 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-dependencies.jar MD5 (dp4j-1.1-jar-with-dependencies.jar) = eb04d0d357fd861ac414fde7d3530119

捲曲-L

作品。它甚至遵循重定向。我在這個答案中發現了這一點。請參閱工作腳本

你是否檢查過你是否真的得到了一個 .jar 文件?許多下載連結會靜默重定向到文件實際所在的位置,因此您可能只下載了幾個字節的Location: ...重定向,而 CURL 沒有遵循該重定向。

在文本編輯器中打開 .jar 文件,看看你有什麼。一個真正的 .jar 應該以“PK”開頭(因為它是一個 .zip 文件)。

引用自:https://unix.stackexchange.com/questions/8577