企业移动网站建设,wordpress页面管理,彩票网站的推荐怎么做,互动网站jar -h非法选项: h
用法: jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files ...
选项:-c 创建新档案-t 列出档案目录-x 从档案中提取指定的 (或所有) 文件-u 更新现有档案-v 在标准输出中生成详细输出-f 指定档案文件名-m 包含指定清单文…jar -h非法选项: h
用法: jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files ...
选项:-c 创建新档案-t 列出档案目录-x 从档案中提取指定的 (或所有) 文件-u 更新现有档案-v 在标准输出中生成详细输出-f 指定档案文件名-m 包含指定清单文件中的清单信息-n 创建新档案后执行 Pack200 规范化-e 为捆绑到可执行 jar 文件的独立应用程序指定应用程序入口点-0 仅存储; 不使用任何 ZIP 压缩-P 保留文件名中的前导 / (绝对路径) 和 .. (父目录) 组件-M 不创建条目的清单文件-i 为指定的 jar 文件生成索引信息-C 更改为指定的目录并包含以下文件
如果任何文件为目录, 则对其进行递归处理。
清单文件名, 档案文件名和入口点名称的指定顺序
与 m, f 和 e 标记的指定顺序相同。示例 1: 将两个类文件归档到一个名为 classes.jar 的档案中:jar cvf classes.jar Foo.class Bar.class
示例 2: 使用现有的清单文件 mymanifest 并将 foo/ 目录中的所有文件归档到 classes.jar 中:jar cvfm classes.jar mymanifest -C foo/ .
一、指令注意点 1、jar后面的{ctxui}[vfmn0PMe]在书写时不要加短横线-只有-C可以用短横线-否则会报错 2、jar后面的{ctxui}[vfmn0PMe]不可以分开写否则会报错 3、{ctxui}这四个参数必须选其一[vfmn0PMe]是可选参数文件名也是必须的; 4、m 后面必须接指定的清单文件 M表示不创建清单文件 5、清单文件名, 档案文件名和入口点名称的顺序必须和m, f 和 e 标记的指定顺序相同 6、-C 后接目录表示只对目录下的文件进行打包 -C 目录/ . 其中点.表示目录下任何文件如果想打包目录下的指定某些文件则需要一一列出文件的全路径名称 7、不使用-C时jar指令后需要列出需要打包的文件 8、files ... 代表一个文件或多个文件 9、e 指定可运行jar包的入口点该入口点必须是全路径名比如com.crland.Welcome 二、实践
1、工程目录
package com.crland;public class Welcome {public static void main(String[] args) {Teacher.greeting();}
}
package com.crland;public class Teacher {public static void greeting() {System.out.println(welcome xiaoliu);}
} 2、编辑源文件 编译源文件需要使用javac命令首先进入到工程目录然后使用javac命令
E:\codes\idea\HelloCode\testjar javac -d out -sourcepath src .\src\main\java\com\crland\Teacher.java .\src\main\java\com\crland\Welcome.java 命令执行完后会在out目录下生成class类文件 可以看到生成的class文件也是按照原有的包目录的组织的。 先简单看下javac命令的用法
用法: javac options source files
其中, 可能的选项包括:-g 生成所有调试信息-g:none 不生成任何调试信息-g:{lines,vars,source} 只生成某些调试信息-nowarn 不生成任何警告-verbose 输出有关编译器正在执行的操作的消息-deprecation 输出使用已过时的 API 的源位置-classpath 路径 指定查找用户类文件和注释处理程序的位置-cp 路径 指定查找用户类文件和注释处理程序的位置-sourcepath 路径 指定查找输入源文件的位置-bootclasspath 路径 覆盖引导类文件的位置-extdirs 目录 覆盖所安装扩展的位置-endorseddirs 目录 覆盖签名的标准路径的位置-proc:{none,only} 控制是否执行注释处理和/或编译。-processor class1[,class2,class3...] 要运行的注释处理程序的名称; 绕过默认的搜索进程-processorpath 路径 指定查找注释处理程序的位置-parameters 生成元数据以用于方法参数的反射-d 目录 指定放置生成的类文件的位置-s 目录 指定放置生成的源文件的位置-h 目录 指定放置生成的本机标头文件的位置-implicit:{none,class} 指定是否为隐式引用文件生成类文件-encoding 编码 指定源文件使用的字符编码-source 发行版 提供与指定发行版的源兼容性-target 发行版 生成特定 VM 版本的类文件-profile 配置文件 请确保使用的 API 在指定的配置文件中可用-version 版本信息-help 输出标准选项的提要-A关键字[值] 传递给注释处理程序的选项-X 输出非标准选项的提要-J标记 直接将 标记 传递给运行时系统-Werror 出现警告时终止编译文件名 从文件读取选项和文件名
3、打包字节码文件
1、打包所有字节码文件并提供入口点打包成可执行的jar包
E:\codes\idea\HelloCode\testjar jar vcfe test1.jar com.crland.Welcome -C out/ .
已添加清单
正在添加: com/(输入 0) (输出 0)(存储了 0%)
正在添加: com/crland/(输入 0) (输出 0)(存储了 0%)
正在添加: com/crland/Teacher.class(输入 413) (输出 293)(压缩了 29%)
正在添加: com/crland/Welcome.class(输入 322) (输出 237)(压缩了 26%)打包结果如下 把test1.jar复制到其他目录然后使用java命令运行jar包可执行
C:\Users\liuqinhou\Desktop\test java -jar .\test1.jar
welcome xiaoliu 可以看到jar包执行成功了。
注意点 1、fe参数的顺序需要和test1.jar com.crland.Welcome的顺序保持一致才行。 2、最后的点.表示要打包out目录下所有文件 2、如果只想打包目录下指定文件则需要在命令最后指定文件路径 E:\codes\idea\HelloCode\testjar jar vcfe test2.jar com.crland.Welcome -C out/ com/crland/Welcome.class 上面指令就是只打包out/目录下的com/crland/Welcom.class文件打包结果为