Deployment.properties ファイル内のシステム全体の JRE 設定は無視されますか?

Deployment.properties ファイル内のシステム全体の JRE 設定は無視されますか?

基本的に私は同じ問題を抱えていますこの質問ただし、提案された解決策は、Win2003 サーバーでも、テストに使用した Win7 ラップトップでも機能しません。

ActiveX ブリッジ dll を介して .Net プログラムによって起動される Java SE 6 プログラムがあります。テストには、3 つの JRE (jdk1.7.0_55、jre1.6.0_45、jre1.6.0_38-x64) がインストールされた Win7 コンピューターを使用しました。アプリケーションは常に jre1.6.0_45 を使用し、最大 95040KB のメモリで起動しますが、もう少し多く必要です。

メモリを増やすには、ファイルを編集して<userprofile>\AppData\LocalLow\Sun\Java\Deployment\deployment.properties次の行を追加します。

deployment.javaws.jre.1.args=-Xmx100m

しかし問題は、これが 1 人のユーザーに対してのみ機能し、サーバー上のすべてのユーザーに対して機能するようにしたいということです。

で議論したようにこの答えC:\Windows\Sun\Java\Deployment\deployment.config内容を含むファイルを作成しました

deployment.system.config=file\:C\:/Windows/Sun/Java/Deployment/deployment.properties

次に、ユーザー プロファイルからフォルダーに deploy.properties ファイルをコピーし、コピーしたファイルにC:\Windows\Sun\Java\Deployment\再度行を追加しました。しかし、不思議なことに、これは機能しません。deployment.javaws.jre.1.args=-Xmx100m

これまで試したこと:

  • 使用している JRE (D:\Java\jre1.6.0_45\lib) および最新の JRE (D:\Java\jdk1.7.0_55\jre\lib) の lib フォルダに、deployment.config ファイルと deploy.properties ファイルを配置します。

  • JRE が 1 つだけインストールされている (仮想) Win2003 サーバーの C:\Windows\Sun\Java\Deployment フォルダにファイルを配置する (v1.6.0_11)

  • 行を追加しdeployment.javaws.jre.0.args=-Xmx100deployment.javaws.jre.2.args=-Xmx100インストールされたすべてのJREが同じ設定を使用するようにしました

  • 2 行目をdeployment.system.config.mandatory=truedeployment.config ファイルに追加し、deployment.properties ファイルへのパスを存在しないものに変更しました -> 何も起こらず、アプリケーションは正常に起動するので、deployment.config ファイルは JRE によって完全に無視されているようです。

どこが間違っているのか、誰か分かる人はいませんか?

答え1

  1. file\:C\:/Windows/Sun/Java/Deployment/deployment.propertiesそれが有効かどうかはわかりませんWindows ファイル URIORACLEドキュメント少し異なるが、よりもっともらしいものをリストします:file:///C:/Windows/Sun/Java/Deployment/deployment.properties

  2. deployment.system.config.mandatoryに設定してTrue、アプリの起動に失敗するかどうかを確認してください。失敗する場合は、JAVA がdeployment.configURI でアクセスできないことを意味し、修正が必要です。

    Deployment.system.config.mandatory プロパティはブール値です。true に設定されている場合、deployment.system.config プロパティによって指定される deploy.properties ファイルが検出され、正常に読み込まれる必要があります。そうでない場合、何も実行できません。プロパティが false に設定されている場合、deployment.system.config プロパティによって指定されるデプロイメント プロパティ ファイルの検索と読み込みが試行されます。成功した場合はファイルが使用され、そうでない場合はファイルは無視されます。deployment.system.config.mandatory プロパティのデフォルトは false です。

  3. この郵便受け提案されているように、削除を試みることができます:

    • ファイル:%localappdata%\Sun\Java\Deployment\deployment.properties

    • レジストリキー:HKEY_CURRENT_USER\Software\AppDataLow\Software\JavaSoft\DeploymentProperties

  4. この投稿で説明されているように、JAVA 7 には問題があります。SCCM/MDT を使用した Java 1.7 自動更新の展開

その他の考え:

この JRE システム全体の構成はどの Java バージョンでも機能しないのではないかと思うようになりました。あるいは、私が何かを完全に見逃しているのかもしれません。

まあ、私はそれが絶対にうまくいかなかったことを発見しました1.6.0_03 および 1.6.0_07:

質問:Java プラグイン関連のデプロイメント プロパティは、システム レベルのデプロイメント プロパティ ファイルでは無視されます。この問題は、1.6.0_03 および 1.6.0_07 でのみ再現可能です。

答え: 6u14 b01 でテスト済み。システム レベルのデプロイメント構成は、新しい Java プラグインで動作しています。古いプラグインについては修正する予定はありません。新しいプラグインでは再現できないため、CR を閉じます。

システム レベルのデプロイメント構成は、Java Web Start の機能です。Java プラグインでは使用されていません。

6u10 以降、新しい Java プラグインと Java Web Start の両方に同じ jre 選択メカニズムが使用されています。これにより、新しいプラグインがシステム レベルの構成に適合できるようになります。この CR を RFE としてマークし、優先度を中に下げます。

そして、ある種の回避策があります:

この問題の回避策として、次のことが考えられます: 「Windows PC 上でプロパティ (例: Xmx) をグローバルに構成するにはどうすればよいですか?」

ただし、これは Java プラグインや Java Web Start などの特定のコンポーネントに固有のものではありません。

Windowsのコントロールパネルを開きます: 詳細設定 → 環境変数 → システム変数 → 新しい変数
変数名:_JAVA_オプション
変数値:-Xmx256m #(例)
OKを押してすべてのウィンドウを閉じます

「Internet Explorer」を再起動すると、設定が有効になります。設定は、ランチャー「java.exe」と Java Web Start「javaws.exe」の両方、およびブラウザによって起動される Java プラグインなど、すべての Java プログラムに影響します。

関連情報