"メインクラスを見つけることができませんでした。プログラムは終了します」

StackOverflow https://stackoverflow.com/questions/120662

  •  02-07-2019
  •  | 
  •  

質問

SQuirreL SQL を実行しようとしています。
ダウンロードしてインストールしましたが、実行しようとすると、次のエラー メッセージが表示されます。

ジャババーチャルマシーンローンチャー。
メインクラスを見つけることができませんでした。
プログラムが終了します。

要点は理解できましたが、修正方法がわかりません。何か助けはありますか?

より詳しい情報:

  • Windows XP proを使用しています。
  • Java 1.6 がインストールされており、他のアプリは正常に実行されています。
  • インストールは正常に実行されました。
  • インストール手順に正しく従ったと思います。
  • それを実行するには、 リス-sql.bat ファイル。

アップデート

この質問: "メインクラスを見つけることができませんでした:××。プログラムは終了します。」 Java 開発者の観点からこのエラーの背景を説明します。

役に立ちましたか?

解決

Java はコンピュータにインストールされていますか?bin ディレクトリへのパスは適切に設定されていますか (つまり、コマンド ラインから「java」と入力すると、指示のリストが返されますか、それとも「java は ..... として認識されません」のようなメッセージが表示されますか? )?

試しに走ってみるのもいいかもしれません squirrel-sql.jar コマンドラインから (squirrel sql ディレクトリから)、以下を使用します。

java -jar squirrel-sql.jar

他のヒント

クラスパスは、実行しようとしているクラスを検索するときにシステムがたどるパスです。実行しようとしているバッチ ファイルには、おそらく CLASSPATH=blah;blah;etc のような変数、または次のような Java コマンドが含まれています。

java -classpath "c:\directory\lib\squirrel-sql.jar" com.some.squirrel.package.file

そのクラスパス設定を見つけたり追加したりできる場合は、そのクラスパス設定に squirrel-sql.jar および依存する可能性のあるその他の jar ファイルへのパスがセミコロンで区切られて含まれていることを確認してください (または、インストール)。

基本的に必要なのは、実行しようとしているクラス ファイルの場所を Java に指示することだけです。Wikipedia にはクラスパスについてさらに詳しく説明されており、より多くの洞察が得られます。 http://en.wikipedia.org/wiki/Classpath_(Java)

  1. JAVA_HOME 変数は、prog files/java/version???/bin を指すように設定する必要があります。
  2. squirrel-sql.bat ファイルをテキストエディタで開き、そこにある JAVA_HOME 変数が環境変数の変数と同じかどうかを確認します。
  3. 一致しない場合は変更します。その後、bat ファイルを再度実行します。

次の指示に従っていますか:

http://www.squirrelsql.org/#installation

その場合、バッチ ファイルを実行していますか、それともそれを実行するためのシェル スクリプトを実行していますか?

Windows 用の MB の回答を微調整すると、コンソール ウィンドウが削除されます。

start javaw -jar squirrel-sql.jar

.bat ファイルが機能していないようです。

次のものをダブルクリックするだけです。

squirrel-sql.jar

または次のように入力します:

java -jar squirrel-sql.jar

コマンドラインで。

を配置できます。;この問題を解決するには、環境変数のクラスパスに追加します。

SQUirrel 3.1 を起動しようとしましたが、「メイン クラス Files ational\ClearQuest\cqjni.jar が見つかりませんでした」というメッセージが表示されました。C:\Program Files ational\ClearQuest\cqjni.jar が既存のクラスパスにあることに気付きました。 Windows 環境変数 CLASSPATH で定義されているとおりです。

SQUirrel には既存のクラスパスが必要ないため、SQUirrel バット ファイル squirrel-sql.bat を更新しました。

REM SET SQUIRREL_CP=%TMP_CP%;%CLASSPATH%

SET SQUIRREL_CP=%TMP_CP%

既存のクラスパスをクラスパスに追加することはなくなり、正常に動作します。

64 ビットの Windows 7 に「アップグレード」したときに、この問題が発生しました。私が Java JRE に注目するのは 64 ビット JVM です。私のマシンにはブラウザ用の 32 ビット JRE があったので、システム変数を設定しました。

JRE32=C:\Program Files\Java\jre7

実行するとき:

"%JRE32\bin\java" -version

わかりました:

java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) Client VM (build 24.51-b03, mixed mode, sharing)

これは 32 ビット JVM です。「Java HotSpot(TM)」と表示されます。 64ビット" さもないと。

「squirrel-sql.bat」ファイルを編集し、次のように 4 行目を削除し、5 行目を追加しました。

(4) rem set "IZPACK_JAVA=%JAVA_HOME%"
(5) set IZPACK_JAVA=%JRE32%

そして今、すべてが順調に機能しています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top