17

私の開発マシンでは、常に Java 6Java 7 をインストールする必要があり、テスト目的で、32 ビット バージョンと 64 ビット バージョンの両方で各 JDK をインストールする必要があります。Java の更新頻度がますますばかげているように見えるので (今では週に 2 回?)、更新ごとに4 つのJDK をアンインストールしてから再インストールする必要があります。これは非常に煩わしいので、このプロセス全体をスクリプト化したいと思います。

私の問題は、デフォルトで各JDKバージョンがアップデート番号を含むディレクトリパスにインストールされることです(デフォルト: "C:\Program Files\Java\jdk1.6.0_<update-nr>\")。大量のビルド スクリプトを適用する手間を省くために、インストール パスから末尾の「_<update-nr>」を常に手動で削除し、常に同じ「C:\Program Files\Java\jdk1.6.0」にインストールします。 「C:\Program Files\Java\jdk1.7.0」、64 ビット版の場合は C:\Program Files (x86)\Java\jdk1.6.0 または「C:\Program Files (x86)」 \Java\jdk1.7.0"、それぞれ、32 ビット バージョンの場合。

私が見つけた間、JREインストーラー(つまりJavaランタイム)のインストールディレクトリを指定する方法:

<jre-installfile>.exe [/s] [INSTALLDIR=<drive>:\<JRE_install_path>] 
    [STATIC=1] [WEB_JAVA=0/1] [WEB_JAVA_SECURITY_LEVEL=VH/H/M/L]

JDK インストーラーのインストール ディレクトリを指定する方法について、同様の説明はまだ見つかりませんでした。

JDKインストーラーのインストールパスを指定できるかどうか、またその方法を知っている人はいますか?

4

8 に答える 8

2

スクリプトでディレクトリの書き換えを回避する方法の 1 つは、シンボリック リンク (NTFS のジャンクション) を使用することです。最初に、次のSysInternalsからジャンクション ユーティリティをダウンロードします 。

次に、シンボリックリンクを簡単に作成できます。 junction "C:\Program Files\Java\jdk1.6.0" "C:\Program Files\Java\jdk1.6.0_37" junction "C:\Program Files (x86)\Java\jdk1.6.0" "C:\Program Files (x86)\Java\jdk1.6.0_37"

一部のシンボリックリンクを削除するには: junction -d "C:\Program Files\Java\jdk1.6.0"

代わりにmklink ( http://technet.microsoft.com/en-us/library/cc753194.aspx ) を使用することもできます (削除には del も使用できます) が、私はジャンクションの単純さと明快さを好みます。

于 2014-07-17T07:56:13.313 に答える
1

試してください: jdk-7u2-windows-i586.exe /s INSTALLDIR=\"C:\Program Files\JAVA\JDK\"

于 2013-06-19T21:41:48.893 に答える
1

これは、JDK_7u55 で私にとって有効な方法です。JREもインストールすることにしました:

PowerShell コマンド

$strJavaInstallExe=<Your JDK executable>
$strJavaInstallDir=<The directory you want the JDK and JRE to install to>

$cmdInstallJava=$strJavaInstallExe+' /passive /log "'+$strJavaInstallDir+'\install.log" ADDLOCAL="ToolsFeature,SourceFeature,PublicjreFeature" INSTALLDIR="'+$strJavaInstallDir+'" INSTALLDIRPUBJRE="'+$strJavaInstallDir+'"'

Invoke-Expression $cmdInstallJava

お役に立てれば!

于 2015-02-25T20:18:14.177 に答える
1

JDK7 インストーラーのリグレッションを発見したところ、無視されINSTALLDIRます。最後の正しいバージョンは update 21 です。

バグ レポートを提出しました。オラクルが返信したらお知らせします。

更新: これは、破損した (不完全な) JDK インストールが原因であることが判明しました。このバージョンをアンインストールすると (プログラムの追加と削除)、新しいインストールは正常に実行されました。

于 2013-09-16T20:54:08.077 に答える