Se você está acostumado com o Apache Ivy , certamente o usa por meio do Gradle ou do Ant. Às vezes, essas ferramentas não estão disponíveis ou não são desejadas, mas o Ivy ainda é uma ótima ferramenta para gerenciar artefatos e dependências.
TL; DR : https://github.com/opatry/ivy-wrapper
#!/bin/bash
if [[ -z "${IVY_HOME}" ]]; then
echo "IVY_HOME must be set"
exit 1;
fi
pushd $IVY_HOME >> /dev/null
IVY_JAR=$(find *ivy*.jar)
popd >> /dev/null
java -jar ${IVY_HOME}/${IVY_JAR} $@
exit $?
Explicações
O Apache Ivy fornece uma interface de linha de comando que resolve esse problema, mas é um pouco prolixa para o uso diário.
Você pode criar facilmente um script de shell que envolve o detalhamento da invocação Java para obter uma invocação de linha de comando limpa e concisa:
Esse script pode perfeitamente substituir a seguinte invocação:
$ java -jar $IVY_HOME/ivy-$IVY_VERSION.jar -version
por
$ ivy -version