私はこれがどのように機能するのか本当に理解していません。私は.jar
今構築しようとしています。これは、2つのクラスから構成されていますTest.class
とSayer.class
。またTest.class
、直接アクセスするか、適切にパックすれば問題なく動作しますTest.jar
が、jarを実行する唯一の方法は、マニフェスト(jar cfm Test.jar manifest Test.class Sayer.class
)を使用してパックすることです。
そうしないと、jarを実行しようとしたときにエラーが発生しますError: Invalid or corrupt jarfile Test.jar
。これは、「良い」jarを作成して削除した場合にも発生しますMETA-INF/
これはそれ自体で完全に理にかなっています。結局のところ、エントリポイントを探す場所をJavaに指示する何らかの方法が必要です...そうですか?しかし、MinecraftのmodingコミュニティがありMETA-INF
、特定のmodを機能させるために削除することを定期的に推奨しています。
しかし、MinecraftはMETA-INF
フォルダなしでどのように機能することができますか?私の実験によれば、これはさえあってはならない可能。それが私の腐敗 minecraft.jar
したように、これは腐敗するべきではありませんTest.jar
か?
MineCraftはランチャーから実行されるため、ランチャー自体は、META-INF
フォルダーを必要とせずに、適切なスタートアップクラスをJavaに直接渡すことができます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加