ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

1.9-使用idea将java程序打包为可运行的jar包

2020-12-22 09:31:14  阅读:138  来源: 互联网

标签:java peopleA peopleB jar idea 线程 main 函数


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函数的参数传递。
在这里插入图片描述

标签:java,peopleA,peopleB,jar,idea,线程,main,函数
来源: https://blog.csdn.net/zhc402044909/article/details/111504332

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有