maven 下载和安装
install_dir=/usr/local
cd ${install_dir}
: -------------------------------------------------------------------------------
function _download
{
local fn=$(basename "$url")
[[ -f "$fn" ]] && return 0
[[ -f "$fn" ]] || wget "$url" -O ${fn}_down && mv ${fn}_down $fn
[[ ! -f "$fn" || -f ${fn}_down ]] && echo "Error, download $fn failed." && rm -f ${fn}_down && exit 1
return 0
}
url="https://mirrors.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.tar.gz"
_download
url="https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz"
_download
: -------------------------------------------------------------------------------
function find_app_pkg
{
declare kw_ lines_ pkg_
kw_=$1
[ -z "$kw_" ] && echo "Error, parameter is missing: keyword" && return 1
lines_=$(ls -A1 | grep -- "$kw_" | grep -E '.gz|.zip|.tar|.tgz')
for f in $lines_; do
[ -f "$f" ] && pkg_=$f && break
done
[[ ! -f "$pkg_" ]] && echo "Error, package is missing: *${kw_}*." && return 1
echo $pkg_
return 0
}
function find_app_dir
{
declare kw_ lines_ appdir_
kw_=$1
[ -z "$kw_" ] && echo "Error, parameter is missing: keyword" && return 1
lines_=$(ls -A1 | grep -- "$kw_")
for f in $lines_; do
[ -d "$f" ] && appdir_=$f && break
done
[[ ! -d "$appdir_" ]] && echo "Error, dir not found: *${kw_}*." && return 1
echo $appdir_
return 0
}
: -------------------------------------------------------------------------------
key=jdk
pkg=$(find_app_pkg $key)
[ $? != 0 ] && echo "$pkg" && exit 1
tar -zxvf ${pkg}
app_dir=$(find_app_dir $key)
[ $? != 0 ] && echo "$app_dir" && exit 1
cat >> /etc/profile <<\
==EOF==
export JAVA_HOME=${install_dir}/${app_dir}
export PATH=\$JAVA_HOME/bin:\$PATH
==EOF==
: -------------------------------------------------------------------------------
key=maven
pkg=$(find_app_pkg $key)
[ $? != 0 ] && echo "$pkg" && exit 1
tar -zxvf ${pkg}
app_dir=$(find_app_dir $key)
[ $? != 0 ] && echo "$app_dir" && exit 1
cat >> /etc/profile <<\
==EOF==
export MAVEN_HOME=${install_dir}/${app_dir}
export PATH=\$MAVEN_HOME/bin:\$PATH
==EOF==
mkdir -p ~/.m2
cat > ~/.m2/settings.xml <<\
'==EOF=='
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<mirrors>
<mirror>
<id>aliyun</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
</settings>
==EOF==
: ---------------------------------------------------------------------------------------------
echo "--end--"