Jarファイルの作成エラー - ファイル名の存在確認

このQ&Aのポイント
  • 質問者はSwingを使ってシンプルなテキストエディタを作成しましたが、jarファイルの作成中にエラーが発生しました。
  • 質問者はMyEditor.javaをコンパイル実行し、MyEditor.classを作成しました。また、マニフェストファイルも作成しました。
  • しかし、コマンドプロンプトで`jar cvfm MyEditor.jar test.mf *.class`を実行すると、ファイルが見つからないエラーが発生します。ファイル名やディレクトリ階層に問題はないようです。他に可能な原因はありますか?
回答を見る
  • ベストアンサー

Jarファイルの作成

今Swingを使ってシンプルなテキストエディタを作成したのですが、それをjarファイルの作成をしているのですがエラーになるのでアドバイスをお願いします。 現在行っていることは MyEditor.javaを作成しコンパイル実行しました MyEditor..classを作成 マニフェストファイルの作成 ファイル名に test.mfにしています。 ファイルには Main-Class: MyEditor だけを記述しています。 コマンドプロンブスに jar cvfm MyEditor.jar test.mf *.class で実行したら java.io.FileNotFounException:test.mf*.class(ファイル名、ディレクトリ名、またはボリューム、ラベルの構文が間違っています。)となります。 これはファイル名が存在していないことだと思うのですが別にファイル名とかも間違いはないと思うのですが他に原因はありますか?ディレクトリ階層なども確認していますが間違いありません

  • Java
  • 回答数1
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
noname#177743
noname#177743
回答No.1

>java.io.FileNotFounException:test.mf*.class( エラーメッセージだけを見れば、test.mfと*.classの間に半角スペースを入れるのを忘れているようにみえますが……。それは大丈夫ですか? 質問者さんは割とそそっかしいほうですか? さほど長くない質問文にもスペルミスがありますし、案外、単純な書き間違いかもしれませんよ。 例えばcvfmをcvmfとか書き間違えたとか、ファイル名の大文字と小文字を間違えているとか、ファイル名に全角文字が混じっていたとか、そうした基本的なところをもう一度チェックされてはいかがでしょう。

takeharu11
質問者

補足

今度は無事にエラー無く出来たのですが、実際にMyEditor.jarファイルを開いたら Java Virtual Machine Launchar Failed to load Main-Class manifest attribute from など出て開けないのですが アドバイスお願いします。

関連するQ&A

  • jarファイルの作成

    はじめまして。 さっそく質問させていただきます。 Javaでswingを使用してGUIアプリケーションを作成しました。 .exeファイルのようにダブルクリックで起動できるように、jarファイルを作成したのですが、開こうとしてファイルをダブルクリックすると、「failed to load Main-Class manifest attribute from (C:からjarファイルまでの階層)」というエラーがでて実行することができません。 階層は C:\a\b フォルダ b の中に「c.class」「d.class」「MANIFEST.MF」の3つがあります。 c.classがmainメソッドを持っているのでマニフェストファイルには、「Main-Class: c」と書き込み、コマンドプロンプトから「jar cvfm c.jar MANIFEST.MF *.class」と入力、jarファイルが作成されたのですが、ダブルクリックすると上記のエラーがでてしまいます。 どのようにすればエラーなく実行することができるでしょうか? 開発環境は、Windows XP SP3, jdk1.6.0_16, 統合開発環境は使用していません。 よろしくお願いします。

    • ベストアンサー
    • Java
  • jarファイルのマニフェストについて

    JAVA初心者です。複数classをjarファイルにして実行する場合。マニフェストを登録すると、java -jarオプションで実行できると思いますが、それぞれのclassが別階層にあった場合メインクラスが見つからないとうエラーで実行できません。別階層にある場合はマニフェストは使えないのでしょうか。

    • ベストアンサー
    • Java
  • アプリケーションをダブルクリックで起動できるjarファイル

    jarファイルを作成すると、ほとんどのアプリケーションはダブルクリックで実行できるのですが、ひとつだけダブルクリックしても実行できないものがあります。どうしてなんでしょうか?誰か、同じ経験をされた方、理由を知っている方は、ご回答お願いします。 jar cvfm <jarファイル名> <マニフェストファイル名> <クラスファイル名> で作成してます。クラスファイルは内部クラスも含めてます。 よろしくお願いします。

    • ベストアンサー
    • Java
  • Jarコマンドでマニフェストファイルを更新

    jdk 1.6.0.26のjarコマンドを使って、既存のjarファイルのマニフェストファイルを更新したいのですが、下記のように警告が表示されてしまいます。 (下記例は、既存のtest.jarにマニフェストファイルmanifest.txtを更新する例です) >jar uvmf manifest.txt test.jar 2011/08/15 1:54:26 java.util.jar.Attributes read 警告: Duplicate name in Manifest: Main-Class. Ensure that the manifest does not have duplicate entries, and that blank lines separate individual sections in both your manifest and in the META-INF/MANIFEST.MF entry in the jar file. 2011/08/15 1:54:26 java.util.jar.Attributes read 警告: Duplicate name in Manifest: Class-Path. Ensure that the manifest does not have duplicate entries, and that blank lines separate individual sections in both your manifest and in the META-INF/MANIFEST.MF entry in the jar file. マニフェストが更新されました。 ちなみに、既存のtest.jarのマニフェストファイルの内容は、下記のようになっており、 Main-Class: jp.main.MainClass Class-Path: hello.jar manifest.txtの内容は、下記のようになっています。 Main-Class: jp.main.MainClass Class-Path: hello2.jar つまり、Class-Pathの所を別なjarファイルに書き換えたいわけです。 上記のjarコマンドで、警告はでますが、実行するとhello2.jarが動作しているようなので、大丈夫なのですが、警告が出るということは、やり方が悪いのでしょうか?

    • ベストアンサー
    • Java
  • jarファイルをダブルクリックで実行したいのですが

    こんにちは。今、Windows Vistaと、Java SE 6 UPDATE 4でJavaの勉強をしているのですが、以前書籍を読んでjarファイルを作った時は、コマンドラインからしか実行しなかったのですが、どうもダブルクリックでも実行できるような事が各サイトに載っていましたので、あるサイトを参考にHelloWorld.jarというファイルを作ったのですが、コマンドラインからは動作できますが、ダブルクリックしても「このファイルを開けません」というダイアログボックスが出てきたので、「インストールされたプログラムの一覧からプログラムを選択する」でjavaw.exeを選んだりjava.exeを選んだりして実行してみたのですが、コマンドラインが一瞬立ち上がってすぐに消えたり、「Could not find the main class. Program will exit.」というダイアログが出現したりして実行できませんでした。 MANIFEST.MFは、 Manifest-Version: 1.0 Main-Class: HelloWorld と記述してます。 コマンドラインでjarファイルを作った時のコマンドは、 jar cvfm HelloWorld.jar MANIFEST.MF *.class です。 コマンドラインからでは、java -jar HelloWorld.jarで動作しています。 HelloWorld.jar をラカで解凍したら、HelloWorldフォルダ直下に、HelloWorld.classとMainPanel.classとMETA-INFフォルダ、 META-INFフォルダの中にMANIFEST.MFがあり、中身は、 Manifest-Version: 1.0 Created-By: 1.6.0_04 (Sun Microsystems Inc.) Main-Class: HelloWorld  となっていました。 もし悪い所がございましたら、アドバイスの方よろしくお願いいたします。

    • ベストアンサー
    • Java
  • Jarファイルのマニフェストについて

    マニフェスト内でMain-Classを指定してJarファイルを作成した場合、EXEに近い仕組み(Jarファイルをダブルクリックでプログラムが実行可能)が実現しますが、この際、マニフェスト内でMain-Classに渡すArgmentsやJavawに適用するオプション(-Dなど・・)を指定することは可能なのでしょうか? また可能な場合、どのように指定すればよいのでしょうか?

    • ベストアンサー
    • Java
  • .mfファイルのMain-Class : クラス名について

    .mfファイルを作成して、 jar cvfm hogehoge.jar *.class を作成した場合、ファイルをダブルクリックすれば、そのプログラムを実行できますよねぇ。そこで、質問なんですが、この.jarファイルを他のJDKの入っていないマシン上で実行する事はできるのでしょうか? ちなみに、僕の友達にこの.jarファイルを実行してもらったときには、できなかったそうです。どうにかして、実行をさせる方法はないのでしょうか? どうか、教えてください。お願いします。

    • ベストアンサー
    • Java
  • JARファイル内でのファイルの作成

    JARファイル内に格納されたクラスファイル(MainWindow.class)を実行して、同じJARファイル内にバイナリファイル(DataFile.bin)を作成したいのですがどのようにしたらよいでしょうか。  JARファイル内のクラスファイル(MainWindow.class)に記述された、randomAccessFile(string,"rw")命令によって、MainWindow.classが格納されているのと同じJARファイル内にDataFile.binを新規作成したいと思っています。  ちなみに、作成したファイルは、 URL url=null; url=getClass.getResource("DataFile.bin")で呼び出したいと思っています。  インターネット等で検索しているのですが、なかなか見つからなくて困っています。すみませんがどうかよろしくお願いします。

    • ベストアンサー
    • Java
  • jarファイルの起動方法

    jarファイルを作成して、ダブルクリックで起動できる ようにしたいのですが、作成したjarファイルをクリックしても何の反応もありません。エラーメッセージが 出るわけでもなく、ただ、プログラムが実行されないのです。jarファイルの作成過程は以下のとおりです。 jar cf temp.jar testclass.class jar ufm temp.jar manifest.txt マニフェストファイルの最後には改行をいれてあります。

    • ベストアンサー
    • Java
  • JARファイル・JARコマンドに関して

    JARファイル・JARコマンドに関しての質問です。 同じクラスファイルを使用して、2つのJARファイルを作成しました。 しかし、バイナリツールでファイルを比較したところ、バイナリデータの一致が取れませんでした。 下記に、例と質問を記載します。 ご存知の方がおりましたら、ご教授よろしくお願いします。 例: 1.jar cf C:\java\test\HelloWorld1.jar C:\java\test\HelloWorld.class (クラスファイルをHelloWorld1.jarというJARファイルを作成します。) 2.jar cf C:\java\test\HelloWorld2.jar C:\java\test\HelloWorld.class (クラスファイルをHelloWorld2.jarというJARファイルを作成します。) ※HelloWorld.classはhelloと表示されるだけの簡単プログラムです。 1で作成されたJARファイルと、2で作成されたJARファイルをバイナリで比較したところ一致しませんでした。 ■質問 1.JARコマンドはJARファイルを作成する際に何をしているのでしょうか? 2.同じクラスファイルでJARファイルを作成しているのに、バイナリデータに差がでるのはなぜでしょうか? JARファイル作成時に作成時間等をファイルに保持しているのでしょうか? (作成時間が違うため、JARファイルで差がでるのでは、と推測しています・・・・) いろいろ調べてみたのですが、良い情報が見つかりませんでした。 参考URLだけでも結構です。 ご存知の方がいましたら、ご教授よろしくお願いします。m(_ _)m

    • ベストアンサー
    • Java

専門家に質問してみよう