- - PR -
すべてのJavaプログラムにあるVM引数を必ず渡すには?
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-09-05 15:48
システム上で起動するすべてのJavaプログラムに、VM引数(-Dsun.java2d.noddraw=true)を必ず渡すようにしたいのですが、方法をご存じの方いらっしゃいませんか?
今は java.exe と javaw.exe をそれぞれ java_def.exe と javaw_def.exe にリネームして、ShellExecute や execvp で それらに編集した引数を渡す java.exe を javaw.exe を作って置き換えるという、面倒なことをしています。できれば、もっと安全で確実な方法が知りたいです。 何でも結構です。情報、お待ちしてます。 | ||||||||
|
投稿日時: 2003-09-05 16:14
unibon です。こんにちわ。
以下、外していそうですが、 アプリケーションプログラム側の main メソッドの先頭に、
と書くとおそらく効きます。 (sun.java2d.noddraw の効果は分かりにくいので未確認ですが、 swing.defaultlaf のほうは効きました。) でも、これではダメなんですよね。 ダメ元で、 C:\j2sdk1.4.2\jre\lib\i386\jvm.cfg に書けそうな気もしたので試してみましたが、 ダメっぽそうでした(これもあまり確かではないけど)。 | ||||||||
|
投稿日時: 2003-09-05 17:12
レスありがとうございます。
アプレットとか、人の作ったプログラムとか、すべてに渡したいので・・・・
コメントを読むと、複数のVMの切り替え用にあるファイルみたいですね。危険な香りがしたので、試せませんでした。 | ||||||||
|
投稿日時: 2003-09-05 18:02
ちと汚いやり方ですが、バッチで解決する手もあります。
自作の「java.bat」を作って、そのバッチ内で勝手に「-Dxxxx」を付け加えて 「java.exe」を叩くようにする・・・ 環境変数でpathの順番などを気にしないといけないですけど。 (コマンドラインで「java」と打つと、自作の「java.bat」に行くように設定) だから、自分で環境変数を設定するjava系アプリには利かないかも知れません。 | ||||||||
|
投稿日時: 2003-09-05 18:28
私と同じ発想ですね最初の説明がわかりにくかったので実際にコードを乗せますと、 なんちゃってjava.exe
なんちゃってjavaw.exe
コンパイラはC++Builder5です。 #できればこんなのじゃなく、プロパティファイルとかレジストリとかで設定する方法があればいいのですが・・・ | ||||||||
|
投稿日時: 2003-09-05 18:33
unibon です。こんにちわ。
以下も外しているかもしれませんが、 Java Plug-in で動く Java Applet ならば、 Java Plug-in コントロールパネルで設定できると思います。 http://java.sun.com/j2se/1.4/ja/docs/ja/guide/plugin/developer_guide/control_panel.html #私は、JDK のインストールの際に Java Plug-in は、 #インストールしない(かあとでアンインストールしてしまう)ので、 #あまり使ったことはないのですが。 でも Java Application には効かなさそうですね(これも未確認ですが)。 もし sun.java2d.noddraw=true にしたいだけならば、 Windows の側の設定で DirectDraw を無効にしてしまう手も考えられます(dxdiag.exe などで)が、 副作用が大きいですね。 | ||||||||
|
投稿日時: 2003-09-05 18:38
お疲れさまです。
こちらこそすいません、ちゃんと読み取れていませんでした。 よし、なら、「java.exe.bat」を作ればいいですね。(いい加減怒られそう) VMのデフォルト設定値みたいなノリで解決できるんですかねえ? もしできれば自分も知りたいです。 というワケでお手上げです。 詳しい方、どなたかよろしくお願いいたします(弱) ではでは。 | ||||||||
|
投稿日時: 2003-09-05 19:11
こんにちは。
これは、以前試してだめだったと思います。アプリケーションに反映されなかったし、なにより、このコントロールパネルを開くと、スタートボタンのあるバーが無反応になったのです。 #JREとJDKが共存していたので、どちらが呼ばれていたのかはっきりしませんが・・・ DirectX自体を切るのは、最終手段としたいと思います。 [ メッセージ編集済み 編集者: ocean 編集日時 2003-09-05 19:19 ] | ||||||||
