cmd打包java文件成jar

jar命令帮助文档
用法: jar [OPTION...] [ [--release VERSION] [-C dir] files] ...
jar 创建类和资源的档案, 并且可以处理档案中的
单个类或资源或者从档案中还原单个类或资源。

 示例:
 # 创建包含两个类文件的名为 classes.jar 的档案:
 jar --create --file classes.jar Foo.class Bar.class
 # 使用现有的清单创建档案, 其中包含 foo/ 中的所有文件:
 jar --create --file classes.jar --manifest mymanifest -C foo/ .
 # 创建模块化 jar 档案, 其中模块描述符位于
 # classes/module-info.class:
 jar --create --file foo.jar --main-class com.foo.Main --module-version 1.0
     -C foo/ classes resources
 # 将现有的非模块化 jar 更新为模块化 jar:
 jar --update --file foo.jar --main-class com.foo.Main --module-version 1.0
     -C foo/ module-info.class
 # 创建包含多个发行版的 jar, 并将一些文件放在 META-INF/versions/9 目录中:
 jar --create --file mr.jar -C foo classes --release 9 -C foo9 classes

要缩短或简化 jar 命令, 可以在单独的文本文件中指定参数,
并使用 @ 符号作为前缀将此文件传递给 jar 命令。

 示例:
 # 从文件 classes.list 读取附加选项和类文件列表
 jar --create --file my.jar @classes.list


 主操作模式:

  -c, --create               创建档案
  -i, --generate-index=FILE  为指定的 jar 档案生成
                             索引信息
  -t, --list                 列出档案的目录
  -u, --update               更新现有 jar 档案
  -x, --extract              从档案中提取指定的 (或全部) 文件
  -d, --describe-module      输出模块描述符或自动模块名称

 在任意模式下有效的操作修饰符:

  -C DIR                     更改为指定的目录并包含
                             以下文件
  -f, --file=FILE            档案文件名。省略时, 基于操作
                             使用 stdin 或 stdout
      --release VERSION      将下面的所有文件都放在
                             jar 的版本化目录中 (即 META-INF/versions/VERSION/)
  -v, --verbose              在标准输出中生成详细输出

 在创建和更新模式下有效的操作修饰符:

  -e, --main-class=CLASSNAME 捆绑到模块化或可执行
                             jar 档案的独立应用程序
                             的应用程序入口点
  -m, --manifest=FILE        包含指定清单文件中的
                             清单信息
  -M, --no-manifest          不为条目创建清单文件
      --module-version=VERSION    创建模块化 jar 或更新
                             非模块化 jar 时的模块版本
      --hash-modules=PATTERN 计算和记录模块的散列,
                             这些模块按指定模式匹配并直接或
                             间接依赖于所创建的模块化 jar 或
                             所更新的非模块化 jar
  -p, --module-path          模块被依赖对象的位置, 用于生成
                             散列

 只在创建, 更新和生成索引模式下有效的操作修饰符:

  -0, --no-compress          仅存储; 不使用 ZIP 压缩

 其他选项:

  -?, -h, --help[:compat]    提供此帮助,也可以选择性地提供兼容性帮助
      --help-extra           提供额外选项的帮助
      --version              输出程序版本

 如果模块描述符 'module-info.class' 位于指定目录的
 根目录中, 或者位于 jar 档案本身的根目录中, 则
 该档案是一个模块化 jar。以下操作只在创建模块化 jar,
 或更新现有的非模块化 jar 时有效: '--module-version',
 '--hash-modules' 和 '--module-path'。

 如果为长选项提供了必需参数或可选参数, 则它们对于
 任何对应的短选项也是必需或可选的。

其中的-h--help作用相同,只是格式不同。例:

jar -hjar --help都能打开帮助文档。

具体操作

比如想要打包Hello.class World.class 两个文件

在控制台进入想要打包的.class文件所在的文件夹,进入后输入
jar -cvfe <想创建的jar文件名>.jar <main方法所在的java文件的文件名> <想要打包的文件>
具体:jar -cvfe Hello.jar Hello Hello.class World.class

完成之后输入:java -jar Hello.jar即可运行jar文件

JAR包中的MANIFEST.MF文件详解以及编写规范
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你想将Java文件打包JAR文件,你可以使用以下三种方式之一:使用命令行(CMD)、使用Eclipse或使用Maven。 1. 使用命令行(CMD)打包: 在命令行中,使用`jar`命令将Java文件打包JAR文件。首先,将Java文件编译class文件,然后使用`jar`命令将这些class文件打包JAR文件。以下是具体的步骤: 1. 编译Java文件:`javac 文件名.java` 2. 创建清单文件(可选):`echo Main-Class: com.example.MainClass > Manifest.txt` 3. 打包JAR文件:`jar cvfm jar包名.jar Manifest.txt com/example/*.class` 2. 使用Eclipse打包: 如果你使用Eclipse作为集开发环境,你可以使用Eclipse内置的导出功能来打包Java文件。以下是具体的步骤: 1. 在Eclipse中,选择你要打包的项目,右键点击选择"导出"。 2. 在弹出的窗口中,选择"Java"文件夹下的"JAR文件",点击"下一步"。 3. 选择要导出的Java文件和资源,设置JAR文件的输出路径和名称,点击"完"。 3. 使用Maven打包: 如果你使用Maven作为项目构建工具,你可以使用`mvn install`命令将Java文件打包JAR文件。在项目的pom.xml文件中,添加以下配置: ```xml <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.2.0</version> <configuration> <archive> <manifest> <mainClass>com.example.MainClass</mainClass> <!-- 设置可执行的主类 --> </manifest> </archive> </configuration> </plugin> </plugins> </build> ``` 在命令行中,进入项目的根目录,运行`mvn install`命令即可打包JAR文件。 请注意,打包出的JAR文件是否可执行取决于JAR包中是否存在Manifest文件,以及Manifest文件中是否包含`Main-Class`和`Class-Path`属性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值