java程序打包为可运行的jar包
前言
上一篇,编写了模拟2个机器人的对话。在此基础上,这节来操作如何将自己写的程序打包成可执行文件,打包后就可以发给其他人直接运行了。
这节讲解使用idea进行打包。
一、如何为main函数传入参数
这一节来讲解如何为main函数传递参数。
以上一节模拟2个机器人交流为例,main函数的代码如下图。
假设现在要求:在每次运行时,可以任意指定2个机器人的名字。
根据main函数的定义,可以接受一个字符串数组。
将以上main函数的代码修改为:
package com.my.thread;
public class ThreadTest {
public static void main(String[] args) {
//在mian 线程(主线程)中创建了2个子线程 peopleA,peopleB
PeopleA peopleA = new PeopleA();
PeopleB peopleB = new PeopleB();
//给子线程取个名字,当main函数接受的参数个数等于2,则将输入参数作为线程的名字;否则设置默认的名字
if(args.length == 2){
peopleA.setName(args[0]);
peopleB.setName(args[1]);
}else{
peopleA.setName("大明");
peopleB.setName("小明");
}
//启动peopleA,peopleB线程,启动后系统将增加一个线程去执行run方法里的代码
peopleA.start();
peopleB.start();
//打印这句表示主线程启动子线程后,会继续执行后续代码,不会关心子线程什么时候执行
System.out.println("main函数结束了。");
}
}
二、使用idea打成可执行jar包
1、鼠标移到工程名上,点右键,点击 open module Settings
2、选择Artifacts.
3、点 + 号,选jar - From mudules with dependencies…
4、在 main class 处点击,选择工程 JavaGramger 的 ThreadTest作为main函数入口。点 ok。
5、记住这个目录,然后点OK。这个是jar后续的保存地方。
6、点 build,选择 build Artifacts…
7、在弹出的框中选择 build。
8、在工程目录的 out-artifacts 目录下找到打好的jar包。
9、打开cmd,进入 :E:\new\1.4\JavaGramger\out\artifacts\JavaGramger_jar
执行:java -jar JavaGramger.jar
可见如下的运行结果:
10、按 ctrl + c,强制停止。
执行:java -jar JavaGramger.jar 小川 大川
可见下面的运行结果。体会main函数的参数传递。