• 締切済み

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

みんなの回答

  • liwet
  • ベストアンサー率72% (18/25)
回答No.1

mail.jar の中には、class ファイル以外に、META-INF の下にも設定ファイルのようなものが入っています。 activation.jar も同じです。 Mailx.jar を作成するときに、そのファイルが入らなかったため、設定がおかしくなったのかも知れません。 じゃぁ、META-INFの下を追加すればいいかというと、mail.jarとactivation.jarで、META-INFの中に同一名のファイルがあります。 なので、そのままひとつにまとめることは出来ないと思います。

関連するQ&A