2016-07-19 3 views
1

Powershellを使用してWindows VMにJasperserverをインストールしようとしています。PowershellでJasperserverをインストールする際の問題。 ANTがJavaを認識できない

私はJavaをうまくインストールできますが、その後実行されるbatファイルの中には、JAVA_HOMEなどの環境変数が見つからないという不満があります。私は彼らが存在することがわかります。また

[Environment]::SetEnvironmentVariable("JAVA_HOME", "C:\Program Files\Java\jdk1.8.0_91", "Machine") 
[Environment]::SetEnvironmentVariable("JRE_HOME", "C:\Program Files\Java\jre1.8.0_91", "Machine") 
[Environment]::SetEnvironmentVariable("CLASSPATH", "C:\Program Files\Java\jdk1.8.0_91\jre1.8.0_91\lib\rt.jar", "Machine") 

とパス変数:

私は環境変数を追加します。システムに入る - >高度なシステム設定 - >環境変数私は彼らがそこにいることがわかるので、それは単にpowershellセッションを設定するだけではないと仮定します。 \ Jaspersoft \ JasperReportsのサーバ-6.2.0 \ apacheの-Tomcatの\ビン
$引数=「/ Cサービス:

私はANT(ただしバッチでビルド)

CDのCを実行しよう

。バット「インストール開始-プロセスを CMD -wait -PassThru -ArgumentList $引数

それは私に、このエラーを与える:

> WARNING: JAVA_HOME environment variable not found [minimal] Running 
> install-minimal-pro Ant task 
> ---------------------------------------------------------------------- '"java.exe"' is not recognized as an internal or external command, 
> operable program or batch file. Checking Ant return code: OK 

私が試した:

  • 私は、サーバーを再起動した場合

多くの方法でバットを実行している環境では、いくつかの方法(setx.exe、など)

  • 、起動プロセスを、CMD、Invoke-Commandコマンドで、などを設定しますそれはうまくインストールされます。また、コマンドプロンプトでバッチを直接実行すると問題ありません。

    Javaがインストールされているイメージを使用する前に、どうしてこのようなことが起こっているのか理解したいと思っています。

  • 答えて

    1

    SetEnvironmentVariable(..., "Machine")setxの両方がレジストリに変数を設定します。この値は、エクスプローラが起動した後のプロセス(再起動後など)に使用されますが、現在のプロセスまたはその子プロセスには設定されていません。スクリプトで現在のプロセスの変数を設定する必要があります。 PS構文

    $env:JAVA_HOME = "C:\Program Files\Java\jdk1.8.0_91" 
    
    を使用して、

    [Environment]::SetEnvironmentVariable("JAVA_HOME", "C:\Program Files\Java\jdk1.8.0_91", "Process") 
    

    または:

    .NETの構文を使用して

    関連する問題