web-dev-qa-db-ja.com

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

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

ActiveXブリッジdllを介して.Netプログラムによって起動されるJava SE 6プログラムがあります。テストするには、3つのJREがインストールされたWin7コンピューターを使用しました; jdk1.7.0_55、jre1。 6.0_45およびjre1.6.0_38-x64。アプリケーションは常に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

次に、deployment.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フォルダーにdeployment.configファイルとdeployment.propertiesファイルを配置します。 lib)

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

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

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

誰かが私がどこで間違っているのか手がかりを持っていますか?

1
THelper
  1. file\:C\:/Windows/Sun/Java/Deployment/deployment.propertiesが有効かどうかわかりません WindowsファイルURIOracleドキュメント 少し異なり、より妥当なものをリストします:file:///C:/Windows/Sun/Java/Deployment/deployment.properties

  2. deployment.system.config.mandatoryTrueに設定して、アプリが起動しないかどうかを確認してください。失敗した場合は、JavaがURIでdeployment.configにアクセスできないため、修正が必要です。

    Deployment.system.config.mandatoryプロパティはブール値です。 trueに設定されている場合、deployment.system.configプロパティが指すdeployment.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には、この投稿で説明されている問題があります: Java 1.7 SCCM/MDTを使用した自動更新の展開

その他の考え:

このJREシステム全体の構成は、どのJavaバージョンでも機能しないと思い始めています。それか、何かが完全に欠けています。

まあ、私はそれが間違いなく動作しなかったことを発見しました 1.6.0_03と1.6.0_07

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

A:6u14b01でテスト済み。システムレベルのデプロイメント構成は、新しいJavaプラグインで機能しています。古いプラグインでは修正しません。新しいプラグインでは再現できないため、CRを閉じてください。

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

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

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

次の問題の回避策として役立つ可能性があります:「WindowsPCでプロパティ(Xmxなど)をグローバルに構成するにはどうすればよいですか?」

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

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

「InternetExplorer」を再起動すると、構成がアクティブになります。構成はすべてのJavaプログラムに影響します:ランチャー "Java.exe"とJava Web Start "javaws.exe"とJavaプラグイン。

3
beatcracker