24

サーバー側システムとして配布する Java アプリケーションを実行しています。私はランチャーを作成しようとしています (「書き込み」はここではやや誇張されています。基本的には、Windows のプロセス エクスプローラーで目的の名前を取得できるように、Java.exe ファイルをコピーするだけです)。この exe は、アプリケーション ファイル ツリーの bin/ ディレクトリにあります。

現在、ファイル ツリーには jre/ ディレクトリもあり、Java.exe が実際に存在する場所です (製品は Java 環境と共に出荷されます)。\jre\jre1.6.0_21\bin にある Java.exe をランチャーとして使用する場合、またはこのディレクトリに作成したコピー (この実行ファイルを「Orange.exe」と呼びます) を配置すると、問題なく動作します。 . しかし、'Orange.exe' を bin\ ディレクトリに置くと、次のエラーが発生します。

Error: no 'server' JVM at 'C:\Program Files\Java\jre6\bin\server\jvm.dll'

ここで何が起こっているのか理解できたと思います。jre ディレクトリにあるサーバー バージョンの jvm.dll ファイルを使用したいと考えています。問題は、アプリケーション パスの jre\jre1.6.0_21 ディレクトリに表示されない理由がわかりません。JAVA_HOME 環境変数をこの場所に設定しました。システム全体で予想される別の場所にデフォルト設定されているようです。

アプリケーションが提供するJava環境ディレクトリに表示されるように、これを変更する方法を知っている人はいますか? 理想的には、バッチ ファイルを使用してパラメーターを指定してこのアプリケーションを呼び出す必要があるため、これは環境変数になります。

4

8 に答える 8

42

サーバー JVM を起動して実行するには、ちょっとしたコツがあります。

  1. JDK の JRE の bin フォルダーの例から「server」フォルダーをコピーします。C:\Program Files\Java\jdk1.6.0\jre\bin\server
  2. 「server」フォルダーを JRE の bin フォルダーの例に貼り付けます。C:\Program Files\Java\jre1.6.0\bin
  3. 終わり

詳細は公式のreadmeを参照してください。

于 2011-11-22T08:48:55.137 に答える
9

私はEclipseでこの同じ問題に苦しんでおり、上記の回答で示唆されているように、JBossサイトには、jdkからjreフォルダーにファイルをコピーするために上記の回答と同じことを言っているこの問題に関するスレッドがあることに気付きました。

サーバーを作成するときにランタイムをjdkに定義すると、これを行う必要がなくなることに気付きました。ただし、既存のサーバーを編集する方法が見つかりませんでした。

日食のスクリーンショット

于 2012-07-19T13:28:12.340 に答える
5

知る限り、JRE は通常、サーバー VM には同梱されていません (クライアント VM のみ)。サーバー VM が本当に必要な場合は、JDK インストールを使用する必要があります。

Server VM を使用する JREについては、Oracle Java for Developers のダウンロードページを参照してください。

于 2011-05-09T21:23:34.737 に答える
0

Windows は、LIBPATH 環境変数で DLL を検索します。

そして、1.6.0_21 が PATH の最初のどこかにあることを確認してください。

于 2011-05-09T19:57:28.143 に答える