curl -L
funciona. Ele segue mesmo redirecionamentos. Descobri isso nesta resposta . Consulte o script de trabalho .
O script a seguir funciona no Ubuntu, mas não no Mac. Por quê? Como editá-lo para que também funcionasse lá?
#!/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
A saída no 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-com-dependencias.jar MD5 (dp4j-1.1-jar-com-dependencies.jar) = eb04d0d357fd861ac414fde7d3530119
curl -L
funciona. Ele segue mesmo redirecionamentos. Descobri isso nesta resposta . Consulte o script de trabalho .
Você já verificou se está realmente obtendo um arquivo .jar ?. Muitos links de download fazem um redirecionamento silencioso para onde o arquivo realmente está, portanto, você pode estar baixando apenas alguns bytes com um Location: ...
de redirecionamento que a CURL não está seguindo.
Abra o arquivo .jar em um editor de texto e veja o que você tem. Um arquivo .jar real deve começar com 'PK' (já que é um arquivo .zip).