我正在开发的应用程序有一个大约7MB的可执行jar。当我使用pack200工具归档它时,tar.gz文件的大小只有2MB。
有没有办法让这个.tar.gz文件可执行(不使用JNLP)?也就是说,用户应该能够使用简单的命令启动应用程序,例如:java -jar xyz.jar
或java -jar xyz.tar.gz
在搜索了pack200很长一段时间后,我只能在JNLP的背景下找到信息。
答案 0 :(得分:1)
当gz
选项 NOT 使用时,它应该有效,由以下命令创建的jar文件应该可以与java -jar
一起使用:
pack200 -r -G compressed.jar uncompressed.jar
但是,以下命令创建的.gz
文件可能不适用于java -jar
:
pack200 compressed.jar.gz uncompressed.jar
-r
是重新打包jar,-G
是去除调试信息。它们确实提供了一些压缩,但没有gz
选项给出的那么多。
如果您必须使用.gz选项来减小大小,原因包括让您的jar可供下载,那么客户端(下载您的jar)可以解压缩并使用它,例如Eclipse更新就是这样的!
有关pack200 here
的更多信息