web-dev-qa-db-ja.com

「jarファイルにアクセスできません」エラーの原因は何ですか?

IDEを使わずにプログラムを実行したい。私はjarファイルと実行可能なjarファイルを作成しました。 exeのjarファイルをダブルクリックしても何も起こらず、cmdでコマンドを使用しようとすると次のようになります。

Error: Unable to access jarfile <path>

私はコマンドを使用します:Java -jar Calculator.jar

私はjarファイルを作成する方法:

  1. プロジェクトフォルダを右クリック(電卓)
  2. 選択する
  3. 「Javaフォルダ」をクリックして「実行可能ファイル」を選択し、次に「次へ」を選択します。
  4. 起動設定:メイン - 電卓
  5. エクスポート先を作成
  6. 「Finish」をクリックして利益を上げてください。そうではありません。
101
Joseph Smith

修正済み

私はそれを別のフォルダに置いただけでうまくいきました。

46
Joseph Smith

Jarファイルを次のように実行したときにこの問題が発生しました。

Java -jar TestJar

の代わりに

Java -jar TestJar.jar

拡張子。jarがない場合も、この問題が発生します。

61
Vinay Kadalagi

[おそらくWindowsのみ]

Jarが現在の作業ディレクトリにある場合でも、パス内のスペースに注意してください。たとえば、私にとってこれは失敗していました:

Java -jar myjar.jar

私はjarへの完全な引用符で囲まれたパスをgivngすることによってこれを修正することができました:

Java -jar "%~dp0\myjar.jar" 

信用は私に正しい道を設定するための この答え に行きます....

24
Robert Brown

私はWindowsのCygWinの下でこの問題を抱えていました。私は、JavaがCygWinのパス(/cygdrive/c/some/dirの代わりにC:\some\dir)を理解していないことを他のところで読んだので、代わりに相対パスを使いました:../../some/dir/sbt-launch.jar

14
radumanolescu

ただ悪いUSBを作ろうとしている同じ問題に出くわした...

Admin cmdでこのコマンドを実行しようとしました

Java -jar c:\fw\ducky\duckencode.jar -I c:\fw\ducky\HelloWorld.txt  -o c:\fw\ducky\inject.bin

しかし、このエラーを得ました:

Error: unable to access jarfile c:\fw\ducky\duckencode.jar

解決策

第1ステップ

問題のjarファイルを右クリックしてください。プロパティをクリックします。右下隅にあるブロック解除タブをクリックします。ファイルがダウンロードされ、私のPC上に作成されなかったため、ファイルはブロックされました。

第2ステップ

Cmdでは、jarファイルがある場所にディレクトリを変更しました。

cd C:\fw\ducky\

それから私はdirとタイプして、ファイルがduckencode.jar.jarと命名されるのを見ました

そのため、cmdでは元のコマンドを.jar.jarでファイルを参照するように変更しました。

Java -jar c:\fw\ducky\duckencode.jar.jar -I c:\fw\ducky\HelloWorld.txt  -o c:\fw\ducky\inject.bin

そのコマンドはエラーメッセージなしで実行され、私が作成しようとしているinject.binは現在ディレクトリにありました。

お役に立てれば。

10
Leon thomas

jarファイルを起動しようとしたとき私は同じ問題を抱えていた。パスにスペースが含まれていたので、引用符を配置する必要がありました。の代わりに:

Java -jar C:\Path to File\myJar.jar

私は書かなければならなかった

Java -jar "C:\Path to File\myJar.jar"
8
benez

これは私のために働きましたJava -jar "filename.jar"

5
controller SCV

これは私のために働きました。

cd /path/to/the/jar/

Java -jar ./Calculator.jar

OSXを使用している場合、ダウンロードされたファイルには、未署名のアプリケーションが実行されるのを防ぐためのセキュリティフラグが付けられています。

これを確認するには、ファイルの拡張属性を表示します。

$ ls -l@
-rw-r--r--@ 1 dave  staff  17663235 13 Oct 11:08 server-0.28.2-Java8.jar
com.Apple.metadata:kMDItemWhereFroms         619
com.Apple.quarantine          68

その後、次のようにして属性を消去できます。

xattr -c file.jar
3
nick fox

あなたが適切にあなたのパラメータのリストを供給しないならば、それも起こることができます。これが私がしていたことです:

Java -jar [email protected] testing_subject file.txt test_send_emails.jar

正しいバージョンの代わりに:

Java -jar test_send_emails.jar [email protected] testing_subject file.txt
3
Buffalo

場合によっては、Androidスタジオで右クリックして/ libsフォルダーの下の.jarファイルを実行(作成または作成)しようとすると発生します。あなたはAndroid stuioの上にあるドロップダウンを選択してそれをappに変更することができます。これはうまくいくでしょう

enter image description here

3
anand krish

私は同様の問題を抱えていて、私も管理者権限で自分のCMDを実行しようとしましたが、それは問題を解決しませんでした。

基本的なことはcmdのディレクトリカレントディレクトリに変更することですjarファイルはどこにありますか。

以下の手順を実行してください。

1.デスクトップにjarファイルをコピーします。

  1. CMDを実行

  2. 型コマンドcd desktp

  3. それからJava -jar filename.jarとタイプしてください

これでうまくいくはずです。

3
Common Man

私はこのスレッドが何年も前であることを知っていて、問題も修正されました。しかし、Oracle WebLogic 12cとそのインストーラーが.jar形式であるOracle OFRをインストールしようとしたときに同様の問題が発生したので、これが将来他の誰かに役立つことを願っています。私の場合は、JDKディレクトリを引用符で囲まないか、単にタイプミスをしただけです。

管理者としてCommand Promptを実行し、この形式でコマンドを実行します。タイプミスがある場合は文を再確認してください。

"C:\Program Files\Java\jdk1.xxxxx\bin\Java" -jar C:\Users\xxx\Downloads\xxx.jar

JRE 1.xxx is not a valid JDK Java Homeのように表示される場合は、Environment VariablesのJava_HOMEのシステム変数が正しいJDKディレクトリを指していることを確認してください。 JDK 1.8以上を推奨します(2018)。

ここで役に立つスレッドは、あなたがそれを参照することができます: なぜあなたのJDK c:program files\Java\jre7を表示することが、WebLogic Serverのインストール中に有効なJDKではないのですか?

2
Boosted Nub

私の特定の問題はシンボリックリンク(ショートカット)を含むディレクトリを扱っていたために引き起こされました。その結果、私が思っていた場所ではなかったので、Java -jar ../../myJar.jarを試すことはうまくいきませんでした。

相対的なファイルパスを無視して、それを直しました。

2
MattSayar

あなたがフォルダの名前にスペースがあるとき、それはウィンドウズ・マシンで起こることができます。解決策は ""の間のパスを入力することです。例えば:

Java -jar c:\my folder\x.jar    --> 
Java -jar "c:\my folder\x.jar"
2
assaf

私にとっては、PATHにあるfoldernameにネイティブのポーランド語の文字を使用すると発生します。そのため、非典型的な文字を使用することが問題の原因だったのかもしれません。

2
Huxwell

許可の問題を避けるために、管理者として実行してみてください。これはWin10で私のために働きました。

2
Gico

私の場合、推奨されるファイル名はコマンドラインのjarFile*.jarです。フォルダ内のファイルはjarFile-1.2.3.jarです。そのため、ファイル名をjarFileに変更しました。それから私はjarFile.jarの代わりにjarFile*.jarを使い、そして問題は解決しました

2
suku

多分あなたはあなたのjarファイルの間違ったバージョンを指定しました。

1
cosbor11

これは、間違ったパスでファイルを探しているためです。1.ファイルを置いたフォルダのパスを探します。2. cmdのcdディレクトリを変更します。

1
felipe

私はNetBeansを使っていて同じ問題を抱えていました。 build and cleanプロジェクトを実行した後、私のプログラムは実行可能でした。 Javaのドキュメントによると、build/cleanコマンドは基本的にプロジェクトを最初から再構築し、過去のコンパイルを削除するためのものです。これが役に立つことを願っています。また、私はドキュメンテーションを読みたいと思います。 OracleにはNetBeansとJavaの学習記録があります。非常に役立ちます。がんばろう!

1
user8315373

私はTextMateか何かが二重引用符をユニコードの二重引用符で置き換えたという同様の問題を抱えていました。

私のSelenium_SERVER_JARをUnicodeの二重引用符から通常の二重引用符に変更することで問題が解決しました。

1
TankorSmash

私はこれを試していました:

ファイルに読み取り、書き込み、実行権限を与えた後:

chmod 777 Java-repl.jar

alias jr="Java -jar $HOME/Dev/Java-repl/Java-repl.jar"

Bla blaにアクセスできません...これはMac OS上でしたが

だから私はこれを試しました:

alias jr="cd $HOME/Dev/Java-repl/ && Java -jar Java-repl.jar"

0
Kinglee

管理者権限で実行しようとしましたか?つまり、[別のユーザーとして実行]でコマンドを実行してから、適切な管理者資格情報を持つ管理者を選択します。

私のために働いた

0