我正在开发的应用程序有一个大约 7MB 的可执行 jar。当我使用 pack200 工具对其进行归档时,tar.gz 文件的大小仅为 2MB。
有没有办法使这个 .tar.gz 文件可执行(不使用 JNLP)?也就是说,用户应该能够使用简单的命令启动应用程序,例如:java -jar xyz.jar
或 java -jar xyz.tar.gz
在pack200上搜索了很长时间,我只能在JNLP上下文中找到信息。
最佳答案
当不使用gz
选项时,它应该可以工作,通过以下命令创建的jar文件应该可以与java -jar
一起正常工作:
pack200 -r -G compressed.jar uncompressed.jar
但是通过以下命令创建的 .gz
文件可能无法与 java -jar
一起使用:
pack200 compressed.jar.gz uncompressed.jar
-r
是重新打包 jar,-G
是去除调试信息。它们确实提供了一些压缩,但不如 gz
选项提供的那么多。
如果您出于某些原因(包括使您的 jar 可供下载)必须使用 .gz 选项来减小大小,那么客户端(下载您的 jar 的人)可以解压并使用它,例如 Eclipse 更新就是这样工作的!
有关 pack200 的更多信息 here
关于java - 是否可以使用 pack200 创建可执行 jar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31494381/