コンソールを起動するためにJavaWebStartランチャーを開くWebベースのKVMスイッチを使用しています。Java 6、アップデート43で実行すると、すべてがうまく機能します。次に、Java 7 update 17を一緒にインストールすると、ソケット接続エラーが発生します。私は、JavaホームとWebスタートアプリケーションを強制的に選択する簡単なバッチスクリプトを自由に作成しました。次に、ダウンロードしたjnlpファイルを保存して、気まぐれで呼び出すことができるようにしました。私は決してJava開発者ではないので、不快な行為をしたことをお詫びします。
set JAVA_HOME="C:\Program Files (x86)\Java\jre6"
%JAVA_HOME%\bin\javaws.exe "C:\opt\kvm\ui.jnlp"
これが私が受け取る接続例外です。
java.io.IOException: JNLP Jar download failure.
at com.sun.javaws.LaunchDownload.validateResults(Unknown Source)
at com.sun.javaws.LaunchDownload.downloadJarFiles(Unknown Source)
at com.sun.javaws.LaunchDownload.downloadEagerorAll(Unknown Source)
at com.sun.javaws.Launcher.downloadResources(Unknown Source)
at com.sun.javaws.Launcher.prepareResources(Unknown Source)
at com.sun.javaws.Launcher.prepareAllResources(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.launch(Unknown Source)
at com.sun.javaws.Main.launchApp(Unknown Source)
at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
at com.sun.javaws.Main$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)'
複数のバージョンのJavaがインストールされている場合にJavaの動作が異なる理由を知っているかどうか疑問に思いました。私が思いつくことができる最も良い説明は、ライブラリの衝突があるということです。この場合、Jre6 dll/toolsのみが呼び出されるようにライブラリパスを手動で設定する方法を見つける必要があります。何かアドバイスがあれば、とてもありがたいです。内部jnlpデータも添付しました。お時間をいただき、誠にありがとうございます。
<?xml version="1.0" encoding="utf-8"?>
<!-- JNLP File IRP EMS -->
<jnlp
spec="6.0+"
codebase="https://<IP-Address>">
<information>
<title>TrippLite UI</title>
<vendor>TrippLite</vendor>
<homepage href="http://www.tripplite.com"/>
<description kind="short">TrippLite Manager</description>
<icon href="minicom_desktop.gif"/>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.6+" initial-heap-size="256m" java-vm-args="-Xnoclassgc - XX:PermSize=64m"
href="http://java.sun.com/products/autodl/j2se"/>
<jar href="./boot.jar"/>
<jar href="./app.jar"/>
<jar href="./vendor.jar"/>
<jar href="./miglayout15-swing.jar"/>
<jar href="./jnlp.jar"/>
<jar href="./xstream-1.3.1.jar"/>
<jar href="./xpp3_min-1.1.4c.jar"/>
<nativelib href="./plugin.jar"/>
<property name="devport" value="900"/>
</resources>
<application-desc main-class="com.minicom.app.video.ui.ShowLogin">
</application-desc>
</jnlp>
アップデート
-verboseを使用してスクリプトを実行すると、次の出力が得られました。SOは初めてなので、画像を投稿できません。ここにリンクがあります。
https://raw.github.com/marvins/temp_images/master/with_setting.png
vmがjre7のjavaw.exeファイルを呼び出しているために問題が発生しているようです。"-Djnlpx.jvm = C:\ Program Files(x86)\ Java \ jre7 \ bin \ javaws.exeをオーバーライドしてjre6に置き換える方法を知っていますか?"-J-のさまざまな形式を使用しようとしていますDjnlpx.jvm = "で、次のような外観になります。そこに表示されますが、値は置き換えられません。
適切なjavawsを強制するより適切な方法はありますか?
%JAVA_HOME%\bin\javaws.exe "-J-Djnlpx.jvm=C:\Program Files (x86)\Java\jre6\bin\javaw.exe" -verbose "C:\opt\kvm\ui.jnlp"