从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包,没有报错则正常。

相关推荐
QQ_216962909639 分钟前
Spring Boot 养老院管理系统:从入住、护理到费用结算的全流程实现(源码可领)
java·spring boot·后端
cxoptics1 小时前
冰洲石分束器设计与应用
java
ck-joker1 小时前
M1 Pro跑LLM实测:Ollama+LangChain4j零成本本地大模型开发,比云端API快在哪?
java·语言模型
丙氨酸長鏈2 小时前
[Bukkit插件开发]手持发射器箭矢机枪 教学文档 面向Python/C#开发者入门Java与Bukkit API
java·python·c#
Nontee2 小时前
设计模式:模板方法与策略,从“每个字都认识“到能说清它们在干嘛
java·数据库·设计模式
我是唐青枫2 小时前
Java ReentrantLock 实战详解:比 synchronized 更灵活的可重入锁
java·开发语言
晨曦中的暮雨3 小时前
Virtual Thread 优化 Spring AI 阻塞式 LLM I/O:对照压测报告
java·并发·个人项目
AKA__Zas3 小时前
芝士算法(前缀和2.0)
java·数据结构·算法·leetcode·哈希算法·学习方法
caishenzhibiao3 小时前
降雨带波段点差 同花顺期货通指标
java·c语言·c#
七夜zippoe4 小时前
OpenClaw Prompt 工程:从角色设定到 Skill 封装的 Agent 输出质量方法论
java·服务器·prompt·openclaw·skill封装