Idea打包Jar文件

前言

如何使用Idea把多个可执行的Class文件,打到一个Jar包里,使用Java命令执行不同的Class文件呢?还有,如何打成直接可执行的Jar包呢?下面进行说明

正文

一、生成不带Manifest文件的Jar(不可以直接执行Jar)

1,首先打开Project Structure(Command+;)然后选择左边的Artifacts,再点上方的“+”号,来新建一个Artifact(按照Maven的说法,所有生成的东西都可以叫作Artifact,当然也包括Jar)。 这里写图片描述


2,在弹出的选择框里,选择Jar -> Emtpy
这里写图片描述


3,选择完Empty后,会新建一个Artifact,这个Artifact的名字是自动生成的,可以修改。
这里写图片描述


4,修改Artifact的名字,在从左边的Available Elements里选择“Hadoop_Test”,然后拖动到中间的“NewJar.jar”那个黄色图标里,黄色图标的“NewJar.jar”下面就会出现Hadoop_Test compile output一个文件夹图标了。最点击右下角的“OK”按钮
这里写图片描述


5,Artifact已经准备好了,下面就是生成这个Artifact(也就是Jar)了。点击菜单栏上的Build,然后选择Build Artifacts,就会弹出一个框。
这里写图片描述


6,在弹出框中,选择我们新建的NewJar,再选择Build后,就会生成一个新的Jar。
这里写图片描述

这里写图片描述


7,然后我们通过Shell就可以去执行这个Jar文件了。

注意:这里生成的Jar文件里没有包含MANIFEST.MF文件,

这里写图片描述


带Manifest文件的Jar(可以直接执行)

1,在上面的第3步创建完Empty的Jar后,选择下面的Create Manifest
这里写图片描述


2,然后选择项目的根目录,点击OK,就会生成Manifest文件
这里写图片描述

这里写图片描述


3,再编辑Mainfest文件的内容,声明Main-Class属性,指定“包名.类名”
这里写图片描述


4,通过Shell,可以直接执行Jar,也可以使用上面的方式,执行Jar中类。
这里写图片描述

### 使用 IntelliJ IDEA 将项目打包JAR 文件 #### 准备工作 为了顺利地将项目打包JAR 文件,需确认已安装必要的开发环境组件:Java Development Kit (JDK),IntelliJ IDEA 和 Maven 或 Gradle 构建工具[^1]。 #### 配置 Main-Class 属性 对于包含多个 `Main` 方法的情况,应在项目的构建配置文件中指定启动类。这通常通过编辑 `pom.xml` 中的 `<build>` 节点下的 `<plugins>` 来完成: ```xml <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.2.0</version> <configuration> <archive> <manifest> <!-- 明确指出哪个类含有 main() 方法 --> <mainClass>Main.Main</mainClass> </manifest> </archive> </configuration> </plugin> ``` 上述 XML 片段展示了如何设置主类路径;当存在多于一个 `Main` 类时,这种显式的声明尤为重要[^2]。 #### 执行打包操作 利用内置功能或命令行来创建最终的 JAR 文件。一种方式是在菜单栏选择 **Build -> Build Artifacts** 并点击 **Action(Build)** ,这样会自动生成所需的输出文件夹及其内部结构[^3]。 另一种更为常见的做法是借助 Maven 命令来进行更精细控制: - 清除旧版本的目标目录并重新编译源码:`mvn clean compile` - 完整打包过程(含测试):`mvn clean package` - 如果希望将产物部署到本地仓库供其他模块依赖,则可以执行:`mvn clean install` #### 运行生成的 JAR 文件 一旦完成了以上步骤,便可以在终端窗口输入如下指令来验证新生成的 JAR 是否正常运作: ```bash java -jar path/to/your-generated.jar ``` 如果遇到任何加载错误提示,可能意味着某些依赖项未被打包进去或是 MANIFEST.MF 缺失必要条目[^4]。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值