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

相关推荐
让我上个超影吧3 分钟前
SpringAI会话记忆实现——基于MYSQL进行存储
java·spring boot·ai
m0_7482331711 分钟前
Laravel vs ThinkPHP:谁更适合你?
java·开发语言
henujolly12 分钟前
How do you troubleshoot a CI failure?
java·开发语言·ci/cd
菜鸟xiaowang14 分钟前
lunch 不显示构建列表
java
草莓熊Lotso16 分钟前
Qt 显示与输入类控件进阶:数字、进度、输入框实战攻略
java·大数据·开发语言·c++·人工智能·qt
大王102418 分钟前
Commons Logging 与 SLF4J 深度解读:日志门面及实现框架全解析
java
zhangkaixuan45621 分钟前
Paimon Split 机制深度解析
java·算法·数据湖·lsm-tree·paimon
Remember_99328 分钟前
Spring 中 REST API 调用工具对比:RestTemplate vs OpenFeign
java·网络·后端·算法·spring·php
Y_0328 分钟前
浅谈Java虚拟机JVM
java·开发语言·jvm
我命由我1234529 分钟前
JUnit - 自定义 Rule
android·java·开发语言·数据库·junit·java-ee·android-studio