web-dev-qa-db-ja.com

Java Windowsに手動でインストールしますか?

JDKでバンドルされた多くの製品を見てきましたが、コンテンツをディレクトリに解凍するだけでJDKをインストールできる方法があるのか​​と思います。そのため、追加/削除プログラムやレジストリエントリなどにアイコンは作成されません。

また、この場合:Javaブラウザ用プラグイン)をどのように構成できますか?また、Javaのコントロールパネルエントリを介して表示される設定をどのように構成できますか?

28
sachin

はい、圧縮されたJDKを作成し、それをターゲットマシンで解凍して、そのディレクトリからJavaやjavacなどを実行してコンテンツを作成できます。

このようなZipファイルを作成する最も簡単な方法は、JDKをマシンにインストールしてから、JDKディレクトリの内容をZip圧縮することです。これは、Javaの構成がデプロイメントで使用される)を正確に制御する必要がある特定の状況で実行します。その場合、スクリプトは、Java_HOME(または同等のもの)を内部でバンドルされているものにポイントするだけです。到着前に必要なものを正確にインストールするためにsysadminに依存する代わりにJDK。

ブラウザーとの統合という点では、これはもう少し問題になる可能性があります。簡単に言えば、いいえです。someインストーラーがないと、ブラウザーに直接統合できません。

15
Bob Cross

this によると、jdkアーカイブを自動的にビルドする batch script を作成しました。

リンクの重要な部分は次のとおりです。

  • 作業用JDKディレクトリ(この場合は「C:\ JDK」)を作成します。
  • OracleからJDKの最新バージョンをダウンロードします(例: "jdk-7u7-windows-i586.exe")
  • 7-Zipをダウンロードしてインストールします(管理者でない場合は7-Zipポータブルバージョンをダウンロードしてください)
  • 7-Zipを使用して、ディレクトリ「C:\ JDK」の「jdk- [6-7] u?-windows-i586.exe」からすべてのファイルを抽出します
  • コマンドシェル(cmd.exe)で、次の操作を行います。
    1. ディレクトリをディレクトリC:\ JDK.rsrc\Java_CAB10に変更します。
    2. コマンドの実行:extrac32 111
  • C:\ JDK.rsrc\Java_CAB10\tools.Zipを7-Zipで解凍します
  • コマンドシェル(cmd.exe)で、次の操作を行います。
    1. ディレクトリをC:\ JDK.rsrc\Java_CAB10\tools \に変更します
    2. コマンドの実行:for/r%x in(* .pack)do。\ bin\unpack200 -r "%x" "%〜dx%〜px%〜nx.jar"(これにより、すべてのパックファイルがjarに変換されます)
  • JDKを置きたい場所にc:\ JDK.rsrc\Java_CAB10\tools "のディレクトリ全体とすべてのサブディレクトリをコピーし、Java_HOMEとPATHを手動で設定して、JDKディレクトリとそのBINサブディレクトリを指定します。
34
Edison

SysInternals RegMonとFileMon(現在はMSが所有および配布)を使用して、正確に Javaインストーラーによって変更されたものを確認できます。作成するregエントリ。たとえば、WISEインストーラーなどの製品でも、この種のアプローチを使用して、製品のインストール(MSIなど)を再パッケージ化します。

注意してください一部の動的インストーラによって行われる決定もあるので、インストールされるものに影響を与える可能性があります(例XP vs W2K3 server )インストールされたコードページに関して一度これに噛まれました。正確な詳細は思い出せませんが、埋め込まれたJRE + JDK(合法的に再配布可能な部分のみ)にコードページファイルが欠落していたため、非常に奇妙で見かけ上、私のコードで意味のないランタイムエラーが発生することは言うまでもありませんが、サーバーとクライアントのJVM DLLにも同じことが当てはまります。

4
David Taylor

本当に、いいえ、少なくともcygwinなどではなくWindowsから使用したい場合は。 Windowsはレジストリに依存しすぎています。必要なレジストリの更新をシミュレートすることもできますが、ファイルを適切な場所に移動してレジストリを更新するソフトウェアは「インストーラ」と呼ばれます。インストーラーを再発明するだけです。

3
Charlie Martin

これは少なくとも、以前のバージョンのJava-で限定的に実現可能であったと考えられていました-まだ可能かどうかはわかりません。

質問で述べたように、ほとんどのレジストリエントリはブラウザのプラグインなどに使用されます。 just Java(たとえば、バッチファイルから)を実行できるようにしたい場合、それは1つのことですが、実際にはinstallingです。別の問題です。単に実行したい場合でも、アプリケーションの一部に誤ってインストールされたものを使用するのではなく、常に意図したものを明示的に使用するように注意する必要があります。

実際のユースケースは何ですか?実際にブラウザプラグインが必要ですか?構成のどの側面に興味がありますか?コントロールパネルの設定の多くは、更新とブラウザの統合に関係しています。他の多くの側面は、特定のシステムプロパティを設定するコマンドラインオプションを使用して制御できます。

3
Jon Skeet

アプリケーションにJVMを提供したいだけの場合は問題ありませんが、それ以上の場合はお勧めしません。

2
adrian.tarau

JDK(JRE)ファイルだけが必要な場合は、インストーラを sandboxie 内で実行できます。サンドボックスにインストールしたら、c:\sandboxからファイルをコピーするだけで完了です。

これを使用して、新しいバージョンのJavaに簡単に移行できないレガシーJavaアプリケーションをコンパイルして実行します。 EclispeにこのJDKを指定して、Java 1.3に準拠するように指示できます。

1
BetaRide

WindowsサーバーバージョンのJavaをOracleダウンロードページからダウンロードしてください。Java_HOMEとPATH変数を自分でセットアップしてください。

1
rtconner