在网上找了一大堆教程,都只说了一个大概流程,对其中的坑点很少有描述的,第一个坑点,就是常规方法(该方法流程)无法对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包,没有报错则正常。