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

相关推荐
后端小张几秒前
【JAVA 进阶】SpringBoot 事务深度解析:从理论到实践的完整指南
java·开发语言·spring boot·后端·spring·spring cloud·事务
合作小小程序员小小店1 分钟前
web网页开发,在线%宠物销售%系统,基于Idea,html,css,jQuery,java,ssh,mysql。
java·前端·数据库·mysql·jdk·intellij-idea·宠物
合作小小程序员小小店13 分钟前
web网页开发,在线%档案管理%系统,基于Idea,html,css,jQuery,java,ssh,mysql。
java·前端·mysql·jdk·html·ssh·intellij-idea
故渊ZY13 分钟前
深入解析JVM:核心架构与调优实战
java·jvm·架构
ChinaRainbowSea14 分钟前
13. Spring AI 的观测性
java·人工智能·后端·spring·flask·ai编程
-大头.15 分钟前
SpringBoot 全面深度解析:从原理到实践,从入门到专家
java·spring boot·后端
Z_Easen16 分钟前
Spring AI:Reactor 异步执行中的线程上下文传递实践
java·spring ai
合作小小程序员小小店17 分钟前
web网页开发,在线%物流配送管理%系统,基于Idea,html,css,jQuery,java,ssh,mysql。
java·前端·css·数据库·jdk·html·intellij-idea
chxii1 小时前
在 Spring Boot 中,MyBatis 的“自动提交”行为解析
java·数据库·mybatis
徐子童1 小时前
数据结构----排序算法
java·数据结构·算法·排序算法·面试题