java-uf命令使用

进行打包 -- 把多个文件打包成一个压缩包 -- 这个压缩包和Winzip的压缩格式是一样的.

区别在于jar压缩的文件默认多一个META-INF的文件夹,该文件夹下包含一个Manifest.mf(清单文件)的文件

通常来说jar命令得到的压缩包有三种(压缩格式完全一样,只是后缀名不同而已):

-c 创建新的归档文件

-t 列出归档目录和文件

-x 解压缩已归档的指定(或所有)文件

-u 更新现有的归档文件

-v 在标准输出中生成详细输出 / 提供更详细输出信息

-f 指定归档文件名 / 为压缩包指定名字

-m 包含指定清单文件中的清单信息

-e 为捆绑到可执行 jar 文件的独立应用程序

-0 仅存储,不压缩,只是打包;不使用任何 ZIP 压缩

-i 为指定的 jar 文件生成索引信息

-C 更改为指定的目录并包含其中的文件

//将当前目录下的*.class文件压缩到上一级目录的mytest.jar文件内

2、创建压缩包,不生成清单文件MANIFEST.MF 大写M

为什么要制作jar包?

一个真实项目中,涉及到的class文件是非常多的。非常多的class文件存在以下问题:

b.JVM要分开依次加载不同的*.class文件,效率很低,于是就可以把多个class文件打包成一个jar包,这样好处是:

①.多个class文件都统一成一个jar包方便管理;

②.JVM可以直接加载jar包就可以一次性加载N个类,效率更高

打包成可执行性jar包

通过 -e 选项 告诉系统哪个类是该jar包的主类

如果机器上安装了独立的虚拟机,只要双击“可执行性”的jar包即可执行

如果不需要生成清单文件MANIFEST.MF,可以直接使用WinRAR或Winzip来压缩(必须压缩成zip格式),解压也可如此

一。操作零散的单个或几个class文件

二。把一个文件夹下面的所有class文件打成jar包

编译的class文件中必须有main入口函数的类方能生成可执行jar包,如:

1。用上面的方法把class与相应的结构目录打成jar包

2。解压这个jar包到当前目录

(注意回车与空格,这个文件的内容排版必须标准)

4。再用winzip把这些文件压缩成jar格式包,或者压成zip包,再改后缀名为jar也可。

2. 打成可执行的jar包

cmd操作窗体中进入class文件的根目录,之所以说根目录,是因为下面其下面还可以有很多文件包(夹);

在此目录准备好一个manifest.mf文件,其内容为:

上面为打包为jar中的包说明文件. 下面这个报错一直出现.

这个错误提示其实不是没有发现main class. 而是jar如果有错误执行不了,就会出现这个错误. 打包完成后, 要先运行 cmd -> java -jar

然后才能成功的从: windows.VideoWindow 的main方法进入. 否则没有相关连接包,则会提示找不到main class. 而大家可能还迷糊的找不到北

如果这个写的不对. 则就会一直报错.

看看上面这个Class-Path: 后面的写法. 空格分开. 绝对不能有分号.切记.

最后必须有换行. 这个也是要注意的. 否则依然提示没有mainclass.

不要因为这个小事情耽误了时间. 其中 lib/ 表示这个jar必须在打包Test.jar所在目录的一个lib子目录中.

自己找. 这不是在eclipse里面.必须写上你要使用的类. 否则总会提示您编译出错.

我平时用mf文件一般说来都是让jar成为可以直接运行这一目的。虽然目的这么简单,但是每次打包还是很容易出现各种各样的问题让人头痛。

mf总是没有被应用,或者是出错了。

首先给出一个简单而标准的例子:

要点1:每行的“:”(冒号)用来分隔键值对。冒号后边一定要跟一个空格!!!

)这样的错。不再IDE帮助下做的JAR会发现MF没有起到应有的作用。顺便说一下以前我看到JBuilder报另一个个错大概说是什么换行符不对,好

像也是由于这个问题引发的。原先总以为是windows里边的回车是由回车,换行2个字符构成而造成的。现在看来好像不是这样,是因为少了冒

要点2:Class-Path里边的内容用空格分隔而不是逗号或者分号。(唉。。。我总是下意识的用分号)

要点3:有的文章说MF文件每行不能超过七十多的字符,我的经验是如果在JBuilder里编辑MF超过了也无妨,一般我是尽量一行写完。续行挺麻

烦又要以空格开头什么的。我也经常直接用winRar打开jar然后直接编辑里边的mf文件,这是个好方法,很直接了当,缺点就是如果改坏了也不

会报错,只是MF有的部分失效了,好像运行时也会说"错误的MF文件版本"。

技巧1:使用winRar打开jar,双击MF文件,就可以编辑了,编辑完了Ctrl+S保存。特方便。也可以在外边写好一个Manifest.mf,然后直接拖入

技巧2:写一个run.bat来运行你的jar。run.bat大体内容如下:

后边加一个pause就可以让你看到具体哪里出错了,一般来说问题如果出在MF上,那么往往就是哪个包,哪个类没有找到的NoClassDef这种异常

摘要:命令行参数文件鉴于迁移到后可能需要很长的命令行参数,有些会限制命令行长度,支持定义一个命令行参数文件。已有三分库可以自动转成模块,只要在启动时将放在指定路径中,便会自动变成。

鉴于迁移到java9后可能需要很长的命令行参数,有些os会限制命令行长度,java9支持定义一个命令行参数文件。使用方式:

  JAR包是Java中所特有一种压缩文档,我们可以通过相关命令解压jar包,下面由学习啦小编为大家整理了linux下解压jar包命令的相关知识,希望对大家有所帮助。

  一、linux解压jar包命令——jar命令详解

  其中{ctxu}这四个选项必须选其一。[v f m e 0 M i ]是可选选项,文件名也是必须的。

  -c 创建一个jar包

  -t 显示jar中的内容列表

  -u 添加文件到jar包中

  -f 指定jar包的文件名

  -v 生成详细的报造,并输出至标准设备

  -0 产生jar包时不对其中的内容进行压缩处理

  -M 不产生所有文件的清单文件(Manifest.mf)。这个参数与忽略掉-m参数的设置

  -i 为指定的jar文件创建索引文件

  -C 表示转到相应的目录下执行jar命令,相当于cd到那个目录,然后不带-C执行jar命令

  二、linux解压jar包命令——jar使用范例

  (2)创建并显示打包过程

  (5)jar中添加文件

  (6)创建不压缩内容jar包

  (9)加-C应用:

  表示在切换到hello目录下然后再执行jar命令

  (10)-i为jar文件生成索引列表

  当一个jar包中的内容很好的时候,你可以给它生成一个索引文件,这样看起来很省事。

  执行完这条命令后,它会在hello.jar包的META-INF文件夹下生成一个名为INDEX.LIST的索引文件,

  它会生成一个列表,最上边为jar包名。

  (11)导出解压列表

  如果你想查看解压一个jar的详细过程,而这个jar包又很大,屏幕信息会一闪而过,

  这时你可以把列表输出到一个文件中,慢慢欣赏!

  例如原目录结构如下:

  你本想只把com目录和org目录打包,而这时jar命令会连同hello目洋也一块打包进。

  这点大家要注意。jar命令生成的压缩文件会包含它后边出的目录。我们应该进入到hello目录再执行jar命令。

  注意:manifest.mf这个文件名,用户可以任指定,但jar命令只认识Manifest.mf,它会对用户指定的文件名进行相应在的转换,这不需用户担心。

  三、linux解压jar包命令——JAR命令使用技巧

  上边我们已经说过了,说JAR文件是一种特殊的压缩文件,所以它当然可以用我们常用的一些解压缩工具来解了,

  至于怎么解,这就不用我说了吧。

  我们已经说过JAR包与ZIP包主要区别就是JAR包中多一个META-INF的目录,

  META-INF目录下有一个manifest.mf文件,我们只要建立好相关的目录一压缩就可以了。

  |--相关的类文件

  注意:还应该在manifest.mf填写内容,不会写?照着一个已有的抄不就行了

我要回帖

更多关于 java curl 的文章

 

随机推荐