- 締切済み
classファイルとJARファイルで実行した出力が異なる
Javaのコマンドラインツールです。 CLASSファイルのままで実行 C:\> java -classpath .;mail.jar;activation.jar Mailx すると正常な出力が得られるプログラムをJARファイルにして C:\> jar xvf activation.jar C:\> jar xvf mail.jar C:\> jar cfm Mailx.jar Mailx.mf *.class com javax C:\> jar tvf Mailx.jar 実行 C:\>java -classpath Mailx.jar Mailx すると、正常な出力が得られなくなり、メールアドレスが出力されるはずが、メモリのアドレスのような値が出力 javax.mail.util.SharedByteArrayInputStream@1bf52a5 されるようになります。 なぜなのでしょうか? <Mailx.mf> Manifest-Version: 1.0 Main-Class: Mailx
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- liwet
- ベストアンサー率72% (18/25)
回答No.1
mail.jar の中には、class ファイル以外に、META-INF の下にも設定ファイルのようなものが入っています。 activation.jar も同じです。 Mailx.jar を作成するときに、そのファイルが入らなかったため、設定がおかしくなったのかも知れません。 じゃぁ、META-INFの下を追加すればいいかというと、mail.jarとactivation.jarで、META-INFの中に同一名のファイルがあります。 なので、そのままひとつにまとめることは出来ないと思います。