idea中java maven程序打JAR包的方式

JAR包是一种文件格式,用于将Java类、资源和元数据打包到一个文件中。它通常用于将Java库、应用程序或模块分发给其他开发人员或部署到不同的环境中。JAR包可以包含许多不同类型的文件,包括.class文件(编译后的Java类)、.java文件(源代码)、图像、音频、配置文件等。

idea中java maven程序打jar包的方式有插件形式和IDEA自带工具。本文仅介绍IDEA自带工具打包jar包。

1.IDEA创建一个java maven工程文件

具体操作参考: 使用IDEA创建maven java项目(hello word)(1.8)-CSDN博客

2.用下述代码替代1中的源代码

import java.util.Scanner; // 导入java.util.Scanner类,以便我们可以使用它来从用户那里获取输入

public class Demo { // 声明一个名为demo的公共类

    public static void main(String []args){ // 这是程序的主入口点。当Java应用程序运行时,它是首先执行的

        String jdkVersion = System.getProperty("java.version"); // 使用System.getProperty方法获取系统属性"java.version",它表示当前正在运行的JDK版本,并将其存储在字符串变量jdkVersion中

        System.out.println("当前JDK版本为:" + jdkVersion); // 打印一条消息,显示当前正在运行的JDK版本

        Scanner scanner = new Scanner(System.in); // 创建一个新的Scanner对象,它将标准输入流(通常是键盘输入)传递给构造函数

        System.out.print("输入回车,退出程序。"); // 打印一条消息,提示用户输入回车键以退出程序

        String input = scanner.nextLine(); // 使用Scanner对象的nextLine方法读取用户输入的一行数据(在这里,我们期望用户输入回车键以退出程序),并将其存储在字符串变量input中

    } // 结束主方法

} // 结束demo类

3.进入项目结构

通过菜单栏: 【文件 -> 项目结构】 进入项目结构设置页面

4.添加工件

通过路径: 【工件 -> + ->  JAR -> 来自具有依赖项的模块…】 进入工件配置页面

5.配置JAR

选择自己的主程序所在的文件

选择第2个:复制到输出目录并通过清单链接

输入生成的jar包名称、生成的jar包所在目录

选择生成的清单文件,一般在resources文件夹下

6.生成jar

一般先清理,再构建,具体路径如下图

 

7.进到生成jar的目录,运行jar

输入cmd,进入dos控制台

输入java -jar xxx.jar

8.可能存在的问题

1.IDEA打jar包在服务器运行出现Error:Invalid or corrupt jarfile xxx.jar 报错+如何使用IDEA打jar包

解决方案:

IDEA打jar包在服务器运行出现Error:Invalid or corrupt jarfile xxx.jar 报错+如何使用IDEA打jar包-腾讯云开发者社区-腾讯云

IDEA自动生成的META_INF配置文件的路径是错误的,我们应该将其放置在项目的根路径:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/285393.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

oracle-SCN系统改变号

SCN system change number 我们看到的SCN是一串数字,由时间经过函数算出的,其实就是时间。但时间的比较复杂,不如转换成数字比较。 给一个日志加scn号,其实就是给日志加上时间点。 2常见的SCN 对于scn的理解 控制文件中有两个sc…

TDD-LTE TAU流程

目录 1. TAU成功流程 1.1 空闲态TAU 1.2 连接态TAU 2. TAU失败流程 当UE进入一个小区,该小区所属TAI不在UE保存的TAI list内时,UE发起正常TAU流程,分为IDLE和CONNECTED(即切换时)下。如果TAU accept分配了一个新的…

HarmonyOS应用开发-搭建开发环境

本文介绍如何搭建 HarmonyOS 应用的开发环境,介绍下载安装 DevEco Studio 开发工具和 SDK 的详细流程。华为鸿蒙 DevEco Studio 是面向全场景的一站式集成开发环境,面向全场景多设备,提供一站式的分布式应用开发平台,支持分布式多…

【起草】【第十二章】定制ChatGPT数字亲人

身为普普通通的我们,不知道亲人们在哪一天就要离开这个世界 ? 作为普普通通的程序员,我们可以为我们的亲人做点什么 ? 让他们以数字资产形式留在人世间 ? 对话|6岁女孩病逝捐器官,妈妈:她去…

js中的数组使用及常见属性方法

目录 数组概念 数组创建方法 数组的length属性 数组的遍历的使用 JavaScript 常用数组方法 concat typeof split length charAt indexOf substring push pop join 数组概念 数组对象的作用是:使用单独的变量名来存储一系列的值。 数组创建方法 构造函…

Matplotlib_4.文字图例尽眉目

文章目录 一、Figure和Axes上的文本1.text2.title和set_title3.figtext和text4.suptitle5.xlabel和ylabel6.annotate7.字体的属性设置 二、Tick上的文本1.简单模式2.Tick Locators and Formatters 三、legend(图例) 一、Figure和Axes上的文本 Matplotli…

面试官:说说JVM内存整体结构?

Java JVM内存结构的面试常问知识 说说JVM内存整体的结构?线程私有还是共享的? JVM 整体架构,中间部分就是 Java 虚拟机定义的各种运行时数据区域。 ​ Java 虚拟机定义了若干种程序运行期间会使用到的运行时数据区,其中有一些会…

《深入理解Java虚拟机(第三版)》读书笔记:Java内存区域与内存溢出异常、垃圾收集器与内存分配策略

下文是阅读《深入理解Java虚拟机(第3版)》这本书的读书笔记,如有侵权,请联系删除。 文章目录 第2章 Java内存区域与内存溢出异常2.2 运行时数据区域2.3 HotSpot虚拟机对象探秘 第3章 垃圾收集器与内存分配策略3.2 对象已死&…

网络安全专家 Mikko Hyppönen 对 2024 年的五大 AI 网络威胁发出警告

在网络安全前线战斗了数十年的 Mikko Hyppnen,这位 54 岁的专家最近在一次视频通话中向 TNW 透露了他对 2024 年最令人担忧的五大人工智能(AI)网络威胁。这些威胁并没有特定的顺序,尽管其中有一个是导致他最为失眠的。 深度伪造&a…

HarmonyOS官网案例解析——保存应用数据

介绍 本篇Codelab将介绍如何使用基础组件Slider,通过拖动滑块调节应用内字体大小。要求完成以下功能: 实现两个页面的UX:主页面和字体大小调节页面。拖动滑块改变字体大小系数,列表页和调节页面字体大小同步变化。往右拖动滑块字体…

江西速欣商务咨询有限公司:债务规划重组的专业法务咨询服务

在财务管理中,债务问题往往成为个人和企业面临的一项重要挑战。江西速欣商务咨询有限公司作为债务问题的专业解决者,致力于为客户提供高效而专业的债务规划重组法务咨询服务,帮助他们摆脱负担,重整财务秩序。 深谙债务规划的专业智…

通信基站绿色低碳服务认证

据标准编制组代表汇报该标准是在2022年工信部等7部门印发《信息通信行业绿色低碳发展行动计划(2022-2025)》提出通信基站要向集约化布局、高效化设计、绿色化建设、低碳化技术、智能化运维方向发展。加快形成以管理制度为引领、以绿色采购为关键、以评估…

Rancher 单节点 docker 部署备份与恢复

Rancher 单节点 docker 部署备份与恢复 1. 备份集群 获取 rancher server 容器名,本例为 angry_aryabhata docker ps | grep rancher/rancher6a27b8634c80 rancher/rancher:v2.5.14 xxx angry_aryabhata停止容器 docker stop angry_aryabhata创建备…

桉木芯建筑模板与其他材质比较有何不同?

在建筑行业中,模板的选择对于确保工程质量和效率至关重要。桉木芯建筑模板作为市场上的一种选择,与其他材质的模板相比,具有独特的优势。能强优品木业作为专业的桉木芯建筑模板生产厂家,其产品充分展示了这一材质的优越性能。 材质…

Vue-响应式数据

一、ref创建基本类型的响应式数据 vue3可以使用ref、reactive去定义响应式数数据。 知识点汇总 使用ref需要先引入ref,import {ref} from vue在模板 template 中使用了添加ref 的响应式数据,变量的后面不用添加.value所有js代码里面,去操作r…

27、web攻防——通用漏洞SQL注入Tamper脚本Base64Jsonmd5

文章目录 数字型:0-9。http;//localhost:8081/blog/news.php?id1 字符型:a-z、中文,需要闭合符号。http;//localhost:8081/blog/news.php?idsimple 搜索型:在字符型的基础上加入了通配符%。http;//localhost:8081/blog/news.…

大数据机器学习GAN:生成对抗网络GAN全维度介绍与实战

文章目录 大数据机器学习GAN:生成对抗网络GAN全维度介绍与实战一、引言1.1 生成对抗网络简介1.2 应用领域概览1.3 GAN的重要性 二、理论基础2.1 生成对抗网络的工作原理2.1.1 生成器生成过程 2.1.2 判别器判别过程 2.1.3 训练过程训练代码示例 2.1.4 平衡与收敛 2.2…

Gin 集成 prometheus 客户端实现注册和暴露指标

前言 当我们构建一个 Web 应用程序时,了解应用程序的性能和行为是非常重要的。Prometheus 是一个流行的开源监控系统,它提供了强大的指标收集和查询功能,可以帮助我们监控应用程序的各个方面。 在 Gin 中集成 Prometheus 可以让我们更方便地监…

vue中的内置指令v-model的作用和常见使用方法以及自定义组件上的用法

一、v-model是什么 v-model是Vue框架的一种内置的API指令,本质是一种语法糖写法,它负责监听用户的输入事件以更新数据,并对一些极端场景进行一些特殊处理。在Vue中,v-model是用于在表单元素和组件之间创建双向数据绑定的指令。它…

0基础学习VR全景平台篇第134篇:720VR全景,云台调整节点

相机、云台和脚架全套设备组装完成后需要进行调校才能开始拍摄。这一节,我们将主要介绍云台调整的两个内容:对中心靶、调三点一线。(后附调校原理) 云台部件名称 一、调节准备 (一)对于安装好的云台 1.检…