从IDEA12中将需要的方法类导出为jar包

在网上找了一大堆教程,都只说了一个大概流程,对其中的坑点很少有描述的,第一个坑点,就是常规方法(该方法流程)无法对main函数之外的类导成jar,第二个坑点,就是必须对需要导出的包进行打包、编译、构建操作。

应该是有办法对另外创建的class类进行打包的,我也找了相关教程,但是按照其教程操作都失败了于是就放弃,我这边就把需要的方法写在了main函数中,直接将main进行导出为jar使用。

具体操作步骤如下

1、首先打开idea,在idea中点击File-New-Project ,创建一个项目,项目名为JmtOne

2、项目创建完成后,直接在main函数中定义两个方法,记住该主函数的包名跟类名,后面会用到,在类中定义了两种拆分字符串的方法,一种是根据角标进行截取,还有一种是根据字符进行截取,

两种方法都是需要返回字符串类型。截取的结果都是以字符串类型返回。

复制代码
package org.example;

public class Main {
    public static void main(String[] args) {
    
    }
    //定义一个方法,将字符串s,从0位取值到n位,截取后返回新的字符串
    public static String sub(String s,int n){
        return s.substring(0,n);
    }
    //定义一个方法,将字符串s,通过n进行拆分,拆分后取值左边进行返回
    public static String split(String s,String n){
        //split方法是一个数组类型,因此拆分的数据类型是数组,因此可以通过[0]来取值
        return s.split(n)[0];
    }
}

2、class类创建完成后,点击右侧栏中的Maven,点击清理,打包完成后。

打包完成后,点击Build-Build Project按钮,完成构建,

3、将项目中所需要的类导出为jar包,点击File-Project Structure..

4、在弹窗中点击Artifacts -+号-JAR-From modules with dependencies..

5、弹出" Create JAR from Modules"对话框,点击"Main Class"右侧的文件夹按钮

6、选择项目中默认的main函数,因为需要调用的方法就写在该main函数中,(自己创建的class类中没有main函数无法选择)

7、在显示的弹窗中配置如下两项内容。

"JAR fles from libraries" 选项选择"extract to the target AR",

" DirectOy fOr META INFMANIFEST.MF"选项设置的是当前的主函数配置文件生成位置

8、配置完成后点击ok,会出现如下界面,

IntelliJ IDEA 会在 根 目录下生成 META-INF/MANIFEST.MF 文件。在上图中我这边选择的是项目的根目录

9、鼠标点击项目,点击Build-Build Artifacts..

10、界面会显示一个小弹窗,点击JmtOne.jar-Build按钮,JmtOne.jar 可执行文件生成在 工程根目录/out/artifacts/JmtOne.jar 目录下

电脑路径为

成功后,可以在电脑的cmd界面中通过java -jar 运行该jar包,没有报错则正常。

相关推荐
大飞哥~BigFei1 小时前
RabbitMq消费延迟衰减重试实现思路
java·分布式·rabbitmq
有趣的野鸭2 小时前
JAVA课程十一次实验课程主要知识点示例
java·前端·数据库
q***07143 小时前
Spring Boot 多数据源解决方案:dynamic-datasource-spring-boot-starter 的奥秘(上)
java·spring boot·后端
q***49864 小时前
Spring Boot 3.4 正式发布,结构化日志!
java·spring boot·后端
沐浴露z6 小时前
【微服务】基本概念介绍
java·微服务
Z3r4y7 小时前
【代码审计】RuoYi-4.7.3&4.7.8 定时任务RCE 漏洞分析
java·web安全·ruoyi·代码审计
Kuo-Teng8 小时前
LeetCode 160: Intersection of Two Linked Lists
java·算法·leetcode·职场和发展
Jooou8 小时前
Spring事务实现原理深度解析:从源码到架构全面剖析
java·spring·架构·事务
盖世英雄酱581368 小时前
commit 成功为什么数据只更新了部分?
java·数据库·后端