
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が動作しているようなので、大丈夫なのですが、警告が出るということは、やり方が悪いのでしょうか?
No.2ベストアンサー
- 回答日時:
ちょっと補足させて下さい。
注意を喚起すると書きましたが、なんか違うような気がしてきました。
前述したjarコマンドの処理内容を逆手に取ると、manifest.txtの中身は
Class-Path: hello2.jar
でも
Class-Path: hello2.jar
Main-Class: jp.main.MainClass
Class-Path: hello2.jar
でも結果は同じになる訳です。
で、後者の場合に「重複してます」という警告を出すという処理になっていると思われますが、それが微妙にバグってて、既存のマニフェストと指定のマニフェストで重複しているものに対しても警告が表示されているのではないかと思われます。
まあ何にしても気にする必要はないかと。
No.1
- 回答日時:
jarコマンドのmオプションは、既存のマニフェストファイルを指定されたマニフェストファイル(今回ではmanifest.txt)に置き換えるという挙動ではなく、「指定されたマニフェストファイル(manifest.txt)中に記述されている名前と値のペアを1つずつ、既存のマニフェストファイルに取り込んでいく」という挙動になります。
つまり今回の例で言うと、更新したいのはClass-Pathのみですから、manifest.txtの中身は
Class-Path: hello2.jar
だけでも大丈夫なわけです。
その取り込む処理の中で、存在しない名前:値のペアの場合は追加し、(今回のClass-Pathのように)存在してるペアの場合は上書きするという処理になります。
問題の「警告」ですが、上書きする際に「上書きました」という情報を親切に表示させているだけです。敢えて「警告」にしてるのは、ユーザが想定してない場合を考慮して、注意を喚起する為だと思われます。
ですので、全く気にする必要はないと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 英語 英文の添削をお願いします 4 2023/05/23 11:10
- UNIX・Linux VScodeでjarファイルを開く方法 1 2022/06/03 17:00
- Java マイクラjavaでForgeを入れたいのですが、インストールした.jarファイルが展開されてしまい中 1 2023/07/28 22:30
- アプリ jarを変換する方法 2 2022/06/04 14:26
- 英語 この英文は平易な反面格調高いですか? 1 2023/01/15 12:04
- 競馬 今のJARのCMは嫌悪感を催しませんか? 5 2023/06/09 13:58
- 英語 分離不定詞 1 2023/07/16 17:29
- 英語 この英文は格調高いのでしょうか? 3 2022/06/03 18:55
- その他(SNS・コミュニケーションサービス) 自分のpcがハッキングされたようなメールが来たのですがどうすればいいですか? 4 2022/10/02 16:14
- Visual Basic(VBA) vbaの構文の修正相談(xmlファイルを順に開いてコピペ作業) 1 2023/04/22 01:18
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
-
ピンとくる人とこない人の違いは?直感を鍛える方法を心理コンサルタントに聞いた!
根拠はないがなんとなくそう感じる……。そんな「直感がした」という経験がある人は少なくないだろう。ただ直感は目には見えず、具体的な説明が難しいこともあるため、その正体は理解しにくい。「教えて!goo」にも「...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
classファイルについて
-
Eclipse「リフレッシュ」と「ク...
-
javaクラスファイルをEclipseで...
-
Eclipse・プロジェクトで、フォ...
-
「メイン・マニフェスト属性が...
-
earファイルを展開する方法
-
【Eclipse】パッケージ・エクス...
-
SVFの設定について:クラスパス...
-
EclipseでのJSP・Servlet開発に...
-
JAR内のクラス一覧と、メソッド...
-
vbs で jar ファイルを起動させ...
-
java言語 こんにちは。 java言...
-
eclipse でclassesフォルダーが...
-
Tomcatの「\\WEB-INF\\classes...
-
PowerShellにてZipFileクラス利...
-
macでのファイル場所指定
-
JDKをインストールしたのですが...
-
jdbcドライバのjarファイルにク...
-
テキストファイルが読み込めない
-
サーバから落としてきたWebアプ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
classファイルについて
-
SVFの設定について:クラスパス...
-
Eclipse・プロジェクトで、フォ...
-
javaクラスファイルをEclipseで...
-
Eclipse「リフレッシュ」と「ク...
-
earファイルを展開する方法
-
eclipse でclassesフォルダーが...
-
「メイン・マニフェスト属性が...
-
jdbcドライバのjarファイルにク...
-
【Eclipse】パッケージ・エクス...
-
java クラスファイルとソースコ...
-
プログラム実行の際に、「ソー...
-
EclipseでHTTP404エラーが出る。
-
Jarコマンドでマニフェストファ...
-
「main メソッドを持つクラスが...
-
サーバから落としてきたWebアプ...
-
EclipseでのJSP・Servlet開発に...
-
「削除するか、クラスパスの正...
-
ファイルのパスの取得について
-
VisualStudioでC++クラスを追加...
おすすめ情報