SUSE SLES 11 SP2 に Puppet 経由で Groovy をインストールしようとしています。Groovy ファイルをインストールしましたが、ここで環境変数を設定する必要があります。シェルスクリプトを使用して値を設定していますが、値をエコーすると正しいです。
echo $JAVA_HOME
/myapplication/mypath/jdk1.6.0_30
コマンド「groovy -version」を実行すると、次/bin/javaAVA_HOME is not defined correctly, can not execute: /myapplication/mypath/jdk1.6.0_30.
のエラーが表示されます。これはタイプミスではなく、実際に得られる出力です! :)
これは、Java インストールへの正しいパスです。「/bin/java」が「JAVA_HOME」の「J」を置き換えているのはなぜですか? /bin と /usr/bin を検索しましたが、どちらのディレクトリにも Java ディレクトリがありません。
サーバーのコマンドラインから値を設定すると、すべて正常に動作します。
これが私のシェルスクリプトです:
# groovy.sh
export JAVA_HOME=/myapplication/mypath/jdk1.6.0_30
export GROOVY_HOME=/myapplication/mypath/groovy-2.0.7
export PATH=$PATH:/myapplication/mypath/groovy-2.0.7/bin
これが私の puppet モジュールのスニペットです。
$groovy_sh = "/etc/profile.d/groovy.sh"
file { $groovy_sh:
ensure => present,
source => "puppet:///modules/groovy/groovy.sh",
owner => "myuser",
group => "mygroup",
mode => 777,
}