大家好,今天小编关注到一个比较有意思的话题,就是关于java自动打包机制的问题,于是小编就整理了3个相关介绍java自动打包机制的解答,让我们一起看看吧。jar压缩原理?jar压缩是一种软件包文件格式,通常用于聚合大量的Java类文件、相关...
大家好,今天小编关注到一个比较有意思的话题,就是关于java自动打包机制的问题,于是小编就整理了3个相关介绍java自动打包机制的解答,让我们一起看看吧。
jar压缩是一种软件包文件格式,通常用于聚合大量的Java类文件、相关的元数据和资源(文本、图片等)文件到一个文件,以便开发Java平台应用软件或库。
jar压缩是一种归档文件,以ZIP格式构建,以.jar为文件扩展名。
用户可以使用JDK自带的jar命令创建或提取JAR文件。也可以使用其他zip压缩工具,不过压缩时zip文件头里的条目顺序很重要,因为Manifest文件常需放在首位。
jar压缩内的文件名是Unicode文本。
一个可执行的jar 文件是一个自包含的 Java 应用程序,它存储在特别配置的JAR 文件中,可以由 JVM 直接执行它而无需事先提取文件或者设置类路径。
要运行存储在非可执行的 JAR 中的应用程序,必须将它加入到您的类路径中,并用名字调用应用程序的主类。
但是使用可执行的 JAR 文件,我们可以不用提取它或者知道主要入口点就可以运行一个应用程序。
可执行 JAR 有助于方便发布和执行 Java 应用程序。
在网络上,有些java程序的提供者将他们的java安装程序打包成一个jar文件的形式。当运行时,自动将jar中的程序解压出来安装到使用者的电脑上。他们是如何做到这些的呢?现在我们就来解开这个迷,让大家了解如果制作这样的jar文件。
首先,我们来回忆一下,以前我们打包jar时,通常将class程序要用到的资源如*.gif图片、*.xml配置文件等都打包在同一个jar中。而程序读取它们时,无外乎以下几种情况:
getClass().getResource(String name)
getClass().getresourceAsStream(String name)
由于Class的这两个方法实际上就是调用了ClassLoader的相应方法,所以可以干脆用下面的方法:
jar -cef
test.CardLayoutDemo
CardLayoutDemo.jar
test以上命令及参数的含义如下:
jar命令为java自带的专用打包工具;
c代表生成新的jar包;
e代表可执行的类,亦即main方法所在的类。书写时要加上包名,在本例中是后面的test.CardLayoutDemo;
f代表生成的jar包的名称,在本例中是
CardLayoutDemo.jar
。此包名可以随意命名,没有规定;test最后面的这个参数表示将test目录下的所有文件都打包放到新的jar包中。
打war是对java的偏见
java很多开发都在用
例如安卓手机端开发,web开发也不一定打war包,war包只是运行在一个容器里的例如TOMCAT压缩包而已。现在很多web开发都打jar包了。
java语言是面向对象的鼻祖
java之前是sun公司的,后来被收购了,是面向对象的鼻祖,例如微软的c#就是模仿java的自己搞了一套。
java的开源项目也很多
很多大数据方面的开源项目都是开源的,也都不是war包。其中阿里巴巴也开源了很多。
到此,以上就是小编对于java自动打包机制的问题就介绍到这了,希望介绍关于java自动打包机制的3点解答对大家有用。