4

問題は次のとおりです。「。jar」ファイルにJavaアプリケーションがパックされています。

どちらでもアプリ(Swing Application)を起動できます

  • jarファイルをダブルクリックします
  • コマンドラインjava -jar MyApp.jar

ただし、コマンドラインコマンドをバッチファイルに入れると、

jarfileMyApp.jarにアクセスできません

バッチファイルはjarと同じディレクトリにあります。私もcmd-lineから始めたところです。管理者権限と管理者シェルからバットを呼び出そうとしましたが、効果はありません。

私はWindows7(64ビット)マシンで作業しています。ヒントをいただければ幸いです。

編集

あなたはそれを求めました:)これがバッチファイルです:

@ECHO OFF
java -jar MyApp.jar
@PAUSE

編集2

ダブルクリックしてcmdからバッチを呼び出すと、同じ効果があります。コマンドをに変更する

java -jar "C:\Full\Path\MyApp.jar"

効果はありません。

編集3

バッチファイルに追加SET Path=%Path%;C:\Path\To\Jarしました。無効。また、Chrisのリンクで提案され、Viruzzoでサポートされているように、二重の円記号を使用してみました。また、効果はありません。

4

5 に答える 5

2

.batファイルをダブルクリックすると、作業ディレクトリは.batファイルがある場所に設定されませんが、通常は%AppData%のようになります。それを機能させるには、バット内のファイルへのフルパスを配置する必要があります(つまりjava -jar C:\path\to\jar\MyApp.jar)。

于 2012-04-17T14:47:03.133 に答える
1

スペースや奇数文字がない場合でも、パスを引用符で囲む必要がありました。

java -jar C:\Users\Jacob\executables\some-file.jar失敗しましたが

java -jar "C:\Users\JStamm\executables\some-file.jar"働いた。

于 2018-06-26T21:11:56.610 に答える
0

Windowsで拡張機能を非表示にするオプションが有効になっていないことを確認してください。たぶんあなたの瓶の名前は.jar.jarで終わりますか?jarファイルへのパスが正しいことを確認しますか?

于 2012-04-17T15:02:59.750 に答える
0

理由はまだわかりませんが、機能します。

最初のバッチファイルは別のバッチファイルのコピーであり、ニーズに合わせて内容を変更しました。

今、私はそれをMyApp.bakに名前変更し、新しいMyApp.batを最初から作成しました。

違いがわかったらすぐに、この回答を更新します。

アップデート

それは別のバッチで再び起こりました。今回、理由がわかりました。何らかの理由で、バッチファイルがコピーされたときに権限を継承しませんでした。フォルダに新しいものを作成することは正しい権限を持っていました。ですから、結局、それは確かに権利の問題でした。

于 2012-04-18T07:47:35.527 に答える
0

これは特定の問題に対する答えではありませんが、これにより問題のトラブルシューティングが可能になり、答えを見つけることができます。スリープコマンドを追加すると、コマンドプロンプトが表示されなくなるため、すぐには閉じません。

ping 1.1.1.1 -n 1 -w 10000

(10秒間寝る)

于 2015-05-10T09:30:47.163 に答える