標準的な方法はありますか?私はこれが多少プラットフォームに依存する可能性があることを認識しています。私たちの製品は現在Windows上でのみサポートされています - だから私はそれが私が今興味を持っていると思います。私が考えることができるのは、レジストリをスキャンするか、ファイルシステムをクロールすることだけです。ファイルシステムをスキャンすると、かなり時間がかかるように思えます。レジストリは信頼できない可能性があります。私は両方をするべきですか?その他の提案はありますか?私は運がないとこれを行うためのAPIを探してみました。私の箱にインストールされているJDK/JREの種類をプログラムで判断してください
10
A
答えて
3
まず、JAVA_HOME環境変数(JDK_HOMEのほうがはるかに少ないですが)を探してから、そのバージョンとJDKかJREかを判断します。
その後、代わりに場所を確認します。システムのプログラムファイルディレクトリを見つけてください(99.5%の時間であってもC:\ Program Filesであると仮定しないでください)。その下にある一般的なインストール場所(Javaなど)を探します。
私は網羅的な検索をしません。
このようにJDKを実際に探す必要がありますか? JDKの使いたいことをユーザーに尋ねるだけで、すでに見つけた簡単なものを示唆することはできませんか?
1
私はおそらく、インストールされたレジストリキーを探してデフォルトのの場所をクロールします(時間がかかりすぎないようにしてください)。
実行中のJVMなどのさまざまな詳細を出力する小さなJavaアプリケーションをバンドルする方法もあります。
34
関連する問題
- 1. JavaScriptを使用してファイルサイズを判断してください
- 2. バッチスクリプトでインストールされたプログラムを確認してください
- 3. 3種類のアラームを設定してください
- 4. typescriptにオブジェクトの種類を教えてください
- 5. 名前が種類だけでなく種類を形成する理由を教えてください。
- 6. websocket onmessageのパラメータの種類を教えてください。
- 7. Retrofitを使用してデータの種類を確認してください
- 8. 私のサーバーの設計を批判してください
- 9. Javaでパラメータ化された型を使用しないでその種類を参照してください
- 10. ダウンロード後にapkファイルをプログラムでインストールしてください(アンドロイドスタジオ)
- 11. osがインストールされていない状態でCPUアーキテクチャを判断する
- 12. angular2-google-chart typescriptで列の種類を指定してください
- 13. クロスプラットフォームのアプローチでドライブの種類を判断する方法
- 14. マイグレーションに使用する列の種類を教えてください。
- 15. プログラムのリストからプログラムがインストールされているかどうか確認してください。
- 16. どのPowerShellスナップインがインストールされているかをプログラムで判断する方法
- 17. プログラムがLinuxにインストールされているかどうかをC++で判断する
- 18. .NETアセンブリがGACにインストールされているかどうかをプログラムで判断する方法
- 19. を追加してください。アイコンをボタンにゴミ箱
- 20. 種類ごとに合計とグループを選択してください
- 21. どのように私はソフトウェアがインストールされている判断するシェルを使用できますか?
- 22. 私のLinuxマシンにlispをインストールしてください
- 23. コンソールから特定の種類のファイルの数を数えてください
- 24. dotnetcore-windowshostingがインストールされているかどうかを判断する方法
- 25. Javaプログラムのインストール方法を教えてください。
- 26. インストールされているDirectXのバージョンを確認してください
- 27. nodejsを使用しているファイルの種類を確認してください。
- 28. インストールされているrpmにエイリアスを追加してください
- 29. システムクレデンシャルストレージにインストールされている証明書を確認してください。
- 30. インストールされているアプリケーションのリストをプログラムでAndroid上で分類する
あなたは徹底的な調査をしないだろう、なぜCletusはあなたが守ることができますか?直感的に私はここで同意するが、私は強い理由を探している。 –
徹底的な検索では、ハードドライブにjava.exeまたはjavac.exe(ウィンドウを想定)というファイルがないか検索する必要があります。 –
上記の2つの変数に加えて、C:\ Program Files \と%PATH%環境変数に検索を制限することをお勧めします。 –