怎么把java程序打包?java源代码打包方法

article/2025/8/14 5:07:08

Java 源代码编译后需要打包,可是新手学习java人员来说,将java程序打包还是比较难的,那么接下来,我就来给大家讲解一下java程序打包的方法,不会的小伙伴可以跟着以下方法操作。

怎么把java程序打包

1.手动打可直接执行的jar包

(1)先使用javac编译java文件,得到class文件

(2)新建文件,名字任起,比如可以叫manifest,内容如下(注意冒号后面加一个空格,最后必须回车到新的空行,否则出错,如下面内容就必须在addJarPkg后面再输入一个回车)

Manifest-Version: 1.0

Main-Class: addJarPkg

(3)把编译好的class文件和第2步新建的文件放入指定文件夹,如test

(4)在cmd中运行命令

jar -cvfm main.jar manifest -C test .

注意路径问题,其中test后面的 “.” 代表所有文件,jar后面的-m选项会将第2步新建的文件合并到 jar包中的 META-INF/MANIFEST.MF,也就是更新清单配置文件。-C 后面指定要打包的目录, 目录后面的 . 代表目录下所有文件。

2.使用intellij idea工具打可直接执行的jar包

(1)点击项目。

(2)点击intellij idea左上角的“File”菜单 -> Project Structure。

(3)点击"Artifacts" -> 绿色的"+" -> "JAR" -> Empty。

(4) Name栏填入自定义的名字,Output ditectory选择jar包目标目录,Available Elements里双击需要添加到jar包的文件,即可添加到左边的jar包目录下,具体看下图。

(5)点击Create Manifest,选择放置MANIFEST.MF的文件路径(直接默认项目根目录就行,尽量不要选别的路径,可能会造成不必要的错误),点击OK。

(6)点击Main Class后面选择按钮。

(7)弹出框中选择需要运行程序入口main函数,点击OK。

(8)以上设置完之后,点击OK。

(9)点击菜单中“Build” -> "Build Artifacts"。

(10)双击弹出框中待生成jar包下面的build即可,如下图。

(11)至此使用Intellij idea生成可直接执行jar包完成。

这些就是java程序打包的方法了,其实还是简单的,大家只要多练习多操作就可以了,最后免费分享一份GitHub 上标星 120k的Java核心进阶知识全面解析,不论是用于巩固基础,还是在面试中提高竞争力都很有用,下面展示部分截图。

文末附免费下载方式

(一). 基础

1、Java 基本功

  • Java 入门(基础概念与常识)
  • Java 语法
  • 基本数据类型
  • 方法(函数)

2、Java 面向对象

  • 类和对象
  • 面向对象三大特征
  • 修饰符
  • 接口和抽象类
  • 其它重要知识点

3、Java 核心技术

  • 集合
  • 异常
  • 多线程
  • 文件与 I\O 流

(二). 并发

1、并发容器

  • JDK 提供的并发容器总结
  • ConcurrentHashMap
  • CopyOnWriteArrayList
  • ConcurrentLinkedQueue
  • BlockingQueue
  • ConcurrentSkipListMap

2、线程池

  • 使用线程池的好处
  • Executor 框架
  • (重要)ThreadPoolExecutor 类简单介绍
  • (重要)ThreadPoolExecutor 使用示例
  • 几种常见的线程池详解
  • ScheduledThreadPoolExecutor 详解
  • 线程池大小确定

3、乐观锁与悲观锁

  • 何谓悲观锁与乐观锁
  • 乐观锁常见的两种实现方式
  • 乐观锁的缺点
  • CAS与synchronized的使用情景

(三). JVM

1、Java内存区域

  • 概述
  • 运行时数据区域
  • HotSpot 虚拟机对象探秘
  • 重点补充内容

2、JVM垃圾回收

  • 揭开 JVM 内存分配与回收的神秘面纱
  • 对象已经死亡?
  • 垃圾收集算法
  • 垃圾收集器

3、JDK 监控和故障处理工具

  • JDK 命令行工具
  • JDK 可视化分析工具

(四)网络、linux、数据结构与算法、数据库、系统设计、必会工具、面试指南

因为篇幅有限,其他内容就不一一展示了,这本进阶笔记总共有512页。对于想要进阶的小伙伴来说应该会很有帮助,希望也能帮助到你。

需要的小伙伴可以点击下面的名片免费领取。


http://chatgpt.dhexx.cn/article/pcvyb3tr.shtml

相关文章

将java或javaweb项目打包为jar包或war包

一、为什么打包 关于此问题,网上众说纷纭。结合个人理解以及网上说法,打成jar包是为了方便别人使用。 如果是运行java程序,就不需要在寻找包含main方法的类去执行;如果是使用第三方jar包,直接在自己项目中导入…

java秒杀项目总结

java秒杀项目总结 本项目专攻秒杀模块,共分为七个章节 第一章 项目框架搭建 1.Spring Boot环境搭建 2.集成Thymeleaf , Result结果封装 前期前后端并未分离,使用Thymeleaf来获取后台传来的数据Result结果封装可以让代码更规范,成功的时候…

Java飞机大战项目

飞机大战游戏是一款十分有趣的射击类小游戏,流畅的画面,高难度的挑战。游戏中,玩家驾驶英雄机,在空中进行战斗。点击并移动自己的英雄机,发射炮弹,打掉敌飞机以及蜜蜂,来获得分数和奖励,打掉一架敌飞机赢得5分,打掉一只蜜蜂赢得1条命或是获得20次双倍火力,如果撞上敌…

Java游戏项目分享

很多小伙伴学习Java,在学习完基础之后都会去找一些项目练手,用来提升自己的技术,在这里,学姐找了一些Java初级练手项目,供小伙伴们用来练手。下面简单介绍一下本次学姐带来的六大Java游戏项目。 Java六大初级练手项目&…

Java项目文件目录结构介绍

Java中有三个比较容易弄混的“文件夹”。 folder 文件夹 ,普通的文件夹,IDE不会对他检查source folder 源文件夹 用于存放Java源代码的package java 中的包,必须存放在source folder 下。 src main javawebappresources 文件视图下的东西。…

如何将 Java 项目转换成 Maven 项目

亲测可用,若有疑问请私信 本文内容 Java 项目Maven 项目Java 项目转换成 Maven 项目 本文主要介绍如何将 Java 项目转换成 Maven 项目。首先要明确的是,用 Maven 管理 Java 项目的确方便。它带给你直观的方便是:你不用在网上找 Jar 包&…

Java项目获取路径方法

Java项目中根据相对路径和绝对路径获取文件的方法(重要) 首先,项目中文件分布情况如下,innerFile.txt位于test.test包下,innerInnerFile.txt位于test.test.inner包下,outterFile.txt位于包的根目录下&…

Java-银行项目

该项目用了三个类Customer,CustomerList,CustomerView。 Customer为实体对象,用来封装用户信息。相当于model。 CustomerList为Customer对象的管理模块,内部用数组管理Customer对象,并提供相应的添加,修改,删除和遍历…

MATLAB箱线图

MATLAB笔记之 作图 箱线图 1、峰值偏度检验 2、相关性作图 MATLAB分析数据相关性实例 3、箱线图看离散程度 如何使用matlab软件进行峰度-偏度检验https://jingyan.baidu.com/article/380abd0ab6f1c75d90192cee.html Matlab图解峰度kurtosis与偏度skewness 原1 Matlab图解峰度…

MATLAB运算符

1. MATLAB运算符 1.1 算术运算符 算术运算符运算法则算术运算符运算法则ABA与B相加(A、B为数值或矩阵)A-BA与B相减(A、B为数值或矩阵)A*BA与B相乘(A、B为数值或矩阵)A.*BA与B相应元素相乘(A、B为相同维度的矩阵)A/BA与B相除(A、B为数值或矩阵)A./BA与B相应元素相除(A、B为相同…

matlab subs函数

在matlab命令行查看subs函数的帮助 subs函数一共有三种使用方法: subs(s,old,new) subs(s,new) subs(s) 点击 subs 的参考页可以看到下面的详细说明: 第一种使用方法 说明:subs函数返回 函数s 的一个拷贝,s函数中的所有old变量都会替换为…

Matlab fprintf

fopen 文件访问类型 仅供学习记录 clc clear %% 01换行输出结果 fprintf([...\n...Matlab可以实现输出换行显示 \n...把你想要输出的内容换行写在[]中 \n...用换行符实现换行 \n...效果就是这样的 \n...]) %% …

数学建模与MATLAB计算之006.MATLAB中的条件语句

006.MATLAB中的条件语句 文章目录 006.MATLAB中的条件语句一、单分支if条件语句二、双分支if条件语句三、多分支if条件语句四、switch语句五、try语句 选择结构是根据给定的条件成立或不成立,分别执行不同的语句。 MATLAB 用于实现选择结构的语句有** if语句、swit…

matlab源码说明

目录 1.MATLAB概述 2.MATLAB程序使用几个常规注意实现 2.1.运行过程可能出现Out of Memory的问题解决办法 2.2.保存大于2G的数据 2.3.程序运行方法 1.MATLAB概述 Matlab经过不断的发展和完善,如今已成为覆盖多个学科,是具有超强数值计算能力和仿真分析能力的软件。…

Matlab逻辑运算符/与/或/非/异或/all/any

Logical()是非0则1,如果数字是非零,输出为1,数字为零,输出为0 与或非 与:&,有0则0,全1则1 或:|,有1则1,全0则0 非:~,0变1&#…

转行学计算机测试,转行软件测试后悔了

原标题:转行软件测试后悔了 很多时候,都在想当初做的转行软件测试行业的决定是对的吗?现在后悔还来得及吗? 其实我刚参加织雀教育的培训班一个月,各方面都学起来感觉有难度,毕竟是零基础转行的,…

【小结】南京大学软件工程专硕2021二战小结

今年的考研也告一段落了,从导师那里听到了一些风声,应该是可以上岸了,上班划水,没啥事,总结一下两年的混子生活吧。拟录取出来就公开。(三百多分也舔着个脸写经验贴) 逻辑很差、文笔稀碎、错别…

嵌入式软件工程师_程序人生一名嵌入式软件工程师的成长总结

哈喽,我是老吴。今天分享一篇18年毕业生的总结文。文章于首发于[嵌入式大杂烩] (2019-10-16)。文章里干货多多,各位慢慢品读吧。 一、我的工作经历 1.1 第一家公司 1.2 第二家公司 1.3 第三家公司二、小、中、大公司的特点 2.1 小公司 2.2 中等公司 2.3 大…

2023年双非二战跨考上岸南京大学软件工程842专硕考研初试403分经验贴

💡 考研过程的中心思想:脚踏实地、少走弯路、不要乱搞 目录 1.前期准备 2.个人情况 3.择校方面 4.备考里程表 5.数学 6.英语 7.政治 8.专业课 9.复试 10.后记 & 致谢 由于有不少朋友都私信我,想要做的笔记,所以我建…

气象学和计算机专业,没毕业就被签走的铁饭碗专业 气象学

有一个专业的就业率很好,到那时人们却不这样认为,是哪个专业呢? 气象学 每每一说到这个专业的就业好,都有很多人来反对。他怎么能好呢?我也没看见身边有人做气象这个行业的啊、 其实气象学的就业率是非常的高的&#x…