把文件或者文件夹打包成jar

本文介绍了如何使用命令行将包含MANIFEST.MF文件的文件夹打包成jar。MANIFEST.MF是Java项目中必不可少的清单文件,用于指定类路径和其他元数据。通过在META-INF文件夹中放置MANIFEST.MF,可以确保正确打包非Java文件。文章提供了一步步的打包命令示例,指导读者完成整个过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

手动打包可以给任何文件夹打包,但是打包的文件夹中必须存在MANIFEST.MF文件,一般是在文件夹中有一个META-INF文件夹,在该文件夹中放MANIFEST.MF文件,如果没有,你可以创建META-INF文件夹并在里面创建MANIFEST.MF文件。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

我要打包的文件夹是image

我们在要打包的文件夹所在的目录下执行命令,所以要把路径切换到文件所在盘符(我的此文件夹在E盘),

然后输入命令:jar cvfm image.jar image\META-INF\MANIFEST.MF -C image/ .

注意最后的/ 和点,斜杠和点之间有一个空格。

【jar cvfm snake.jar snake\META-INF\MANIFEST.MF -C snake/ .】这句命令中,image.jar是我要生成的jar文件名,可以任意取,image\META-INF\MANIFEST.MF就是该文件夹中的MANIFEST.MF文件的路径,-C是指的是你要将哪个文件进行打包,/ .表示该文件夹中的所有文件。
在这里插入图片描述
上面我们说的是文件夹打包成jar,那时因为一个项目中存在不是java文件的文件需要打包,所以我们的打包方式需要存在清单文件:MANIFEST.MF。

### 使用 Maven 构建并打包项目为 JAR 文件 为了将项目目录构建并打包 JAR 文件,Maven 提供了一套完整的生命周期管理机制来处理项目的编译、测试以及打包等操作。通过定义 `pom.xml` 中的相关配置项,能够实现自动化的打包流程。 #### 配置 pom.xml 文件 在 `pom.xml` 文件中指定打包类型为 jar: ```xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <!-- 项目坐标 --> <groupId>com.example</groupId> <artifactId>example-project</artifactId> <version>1.0-SNAPSHOT</version> <!-- 打包方式设置为jar --> <packaging>jar</packaging> ... </project> ``` 此部分配置明确了项目的唯一标识符(即 groupId, artifactId 和 version),并且指定了该工程将会被打包为何种形式,在这里是 jar 形式的可执行文件[^3]。 #### 添加插件支持 为了让 Maven 能够正确地创建含所有依赖关系的独立运行环境,通常还需要加入 maven-shade-plugin 插件来进行优化后的打包工作: ```xml <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.2.4</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>com.example.MainApp</mainClass> </transformer> </transformers> </configuration> </execution> </executions> </plugin> </plugins> </build> ``` 上述代码片段展示了如何利用 shade 插件完更复杂的打包任务,比如合并多个类路径下的资源或将第三方库嵌入到最终产物之中;同时设置了启动应用程序所需的入口点 main-class 属性值[^2]。 #### 执行命令进行打包 当所有的准备工作都完后,只需要简单地输入如下指令即可触发整个构建过程,并生目标位置下的 .jar 文件: ```bash mvn clean package ``` 这条命令会清理旧版本的目标文件夹 (`clean`) 并按照 POM 文件中的设定重新编译源码(`compile`) ,运行单元测试(`test`) 最终形一个或多个输出制品(`package`) 。如果一切顺利的话,则可以在 target 子目录下找到新产生的 jar [^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值