pack200可以用于单个java类吗?

pack200可以用于单个java类吗?,java,deployment,Java,Deployment,我看到pack200可以用于JAR文件,但它可以用于单个类文件吗 在为x.class提供服务之前,我的Web服务器接收到大量不存在的x.class.pack.gz请求 如果Java请求x.class.pack.gz,这是否意味着可以打包单个类 在没有JAR文件作为输入的情况下运行pack200似乎不起作用。简短回答:不 Pack200格式的设计允许跨多个类文件进行更大的压缩,以减小大型.jar文件的大小。这是因为.zip格式(基于.jar格式)只单独压缩每个文件,不考虑归档中不同文件之间的冗余

我看到pack200可以用于JAR文件,但它可以用于单个类文件吗

在为x.class提供服务之前,我的Web服务器接收到大量不存在的x.class.pack.gz请求

如果Java请求x.class.pack.gz,这是否意味着可以打包单个类

在没有JAR文件作为输入的情况下运行pack200似乎不起作用。

简短回答:不

Pack200格式的设计允许跨多个类文件进行更大的压缩,以减小大型.jar文件的大小。这是因为.zip格式(基于.jar格式)只单独压缩每个文件,不考虑归档中不同文件之间的冗余

您应该调查是什么导致了服务器上对单个.class文件的请求。很可能您有一个Java小程序或Webstart应用程序的JNLP,它没有打包为.jar文件。JNLP/Applet类加载器的默认机制会导致请求压缩版本的文件,并假定为.jar。将这些文件作为.class文件会让类加载器感到困惑。您可以将有问题的Applet/Webstart应用程序重新打包为.jar,或者将JNLP或Applet标记更改为将
JNLP.packEnabled
属性设置为
false
,以防止请求

有关更多信息,请参阅Pack200和
jnlp.packEnabled
属性