私は私のMacアプリケーションのパッケージを作成する必要がある、と私はPackageMakerパッケージメーカーのチェックエラーに
を使用しています、私はJVMのバージョンをチェックする必要があり、10.6その小さい場合、私はinstalltionを中止するものとし、私は、次のシェルスクリプトを
REQUIRED_VERSION=106
#Converting the value in numeric value for comparison in later part of the script REQUIRED_VERSION=`echo $REQUIRED_VERSION | sed -e 's;\.;0;g'`
#Redirecting complete output of java -version to tmp.ver file
java -version >tmp.ver 2>&1
#Getting current version from the tmp.ver file
VERSION=`cat tmp.ver | grep "java version" | awk '{ print substr($3, 2, length($3)-2); }'`
rm tmp.ver
#Coverting into numeric value
VERSION=`echo $VERSION | awk '{ print substr($1, 1, 3); }' | sed -e 's;\.;0;g'`
echo $VERSION
if [ $VERSION ]
then
if [ $VERSION -gt $REQUIRED_VERSION ] || [ $VERSION -eq $REQUIRED_VERSION ]
then
echo "requirement matched"
exit 1;
else
echo "lower version"
exit 0;
fi
else
echo "not able to find java version"
exit 0;
fi
を使用していますが、パッケージメーカーに私が通過するには、チェックを入れているが、すべてのケースでその打撃HTEが条件を失敗する、すなわち書かれたタイプは、最初のJVMをインストールするには、そのための
をユーザーに尋ねます正解ではない、誰でも助けてくれる、 "何が正しいだろうかパッケージの製造元がそのスクリプトの合格または不合格を理解することができます。
あなたのビルドインストーラにログを表示すると、 'require matched'、' lower version'、または 'java versionを見つけることができません 'と表示されますか? –
@MichaelDautermann:要件が一致していることを示しています – Amitg2k12