IDEA JAVA项目 导入JAR包,打JAR包 和 JAVA运行JAR命令提示没有主清单属性

news2024/12/27 13:48:24

一、导入JAR包

1、java项目在没有导入该jar包之前,如图:

在这里插入图片描述

2、点击 File -> Project Structure(快捷键 Ctrl + Alt + Shift + s),点击Project Structure界面左侧的“Modules”如图:

在这里插入图片描述
在这里插入图片描述

3.在 “Dependencies” 标签界面下,点击右边绿色的 “+”号,选择第一个选项“JARs or directories…”,选择相应的jar包,点“OK”,jar包添加成功

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、点“OK”回到项目界面,IntelliJ IDEA自动提示需要添加import语句,利用 Alt+Enter 键快速添加import语句之后,项目成功编译

在这里插入图片描述

二、打JAR包

1、点击 File -> Project Structure(快捷键 Ctrl + Alt + Shift + s),点击Project Structure界面左侧的“Artifacts”如图:

在这里插入图片描述

2、Artifacts->"+",选jar,选择from modules with dependencies,后有配置窗口出现,配置完成后,勾选Build on make >ok保存

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、菜单:Build->make project,注意这里可能会报编译错误,最好提前检查一下编译器版本:File>Settings>Java Compiler,修改Target bytecode version版本为1.8,另外项目版本Project Structure-Project/Modules版本改为1.8

在这里插入图片描述

以下是检查编译器版本截图,不需时可忽略:

(1)File>Settings>Java Compiler,修改Target bytecode version版本为1.8

在这里插入图片描述

(2)Project Structure>Project/Modules版本改为1.8

在这里插入图片描述
在这里插入图片描述

4、去打包输出路径,找到jar包

在这里插入图片描述

三、JAVA运行JAR命令提示没有主清单属性

在这里插入图片描述

jar包中的META-INF文件夹下的MANIFEST.MF文件缺少定义jar接口类。说白了就是没有指定class类。这里说明一下MANIFEST.MF就是一个清单文件。

解决这个问题的方法就是要在MANIFEST.MF文件中添加一个入口类。

即需要一个Main-Class定义行。更详细的MANIFEST.MF文件定义说明,请参考官方MANIFEST.MF文件定义手册。

在这里插入图片描述

用记事本打开MANIFEST.MF文件,

看看文件中是否有Main-Class这样一行文字,如果没有的话添加一行。

Main-Class: HelloWorld 这里的HelloWorld是你的xxx.java文件编译后的xxx.class文件稍微名称。但是不要加.class后缀。

如果有的话,那么看下Main-Class: HelloWorld 这后面的名称是否和你的class文件名称一致。不一致请改回来。

注:这里Main-Class:要空一格,然后再写上你的class文件名。

 再次运行,成功。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Instagram 早期技术架构

哈喽大家好,我是咸鱼 想必大家都听说过 Instagram ,它是全球最受欢迎的社交媒体平台之一,拥有数十亿的活跃用户 Instagram 诞生于 2010 年,上线一周就坐拥 10 万注册用户,一年之内就拥有了 1400 万用户,可…

基于Springboot 智能公交站台系统-计算机毕设 附源码 37261

Springboot 智能公交站台系统 目 录 摘 要 1 绪论 1.1 研究背景 1.2研究意义 1.3相关技术介绍 1.4论文结构与章节安排 2 智能公交站台系统需求分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2.1.3 操作可行性分析 2.1.4 法律可行性分析 2.2 系…

PostgreSQL 连接是否要通过SSL,为什么使用SSL 连接后,业务部门会投诉我?

开头还是介绍一下群,如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, Oceanbase, Sql Server等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系 liuaustin3 ,(…

Ansys Speos | 如何利用Speos联合optiSLang进行光导优化设计

在本例中,我们将使用 Speos 和 optiSLang 实现光导的设计优化,以实现汽车日行灯、内饰氛围灯等的光导设计,并改善光导亮度的均匀性,以自动优化设计的方式实现更好的照明外观。 概述 在汽车照明应用中,日行灯是一个独特…

品牌化战略:跨境电商市场突破的关键

随着全球互联网的普及和数字化技术的不断发展,跨境电商已经成为了国际贸易中不可或缺的一部分。在这个竞争激烈的领域,成功突破市场的关键之一是采用品牌化战略。本文将深入探讨品牌化战略如何助力跨境电商实现市场突破。 品牌化战略的定义 品牌化是指将…

Java CAS原理和应用场景大揭秘:你掌握了吗?

一、📘CAS概念 CAS(Compare and Swap)是一种乐观锁机制,它是一种基于硬件指令实现的原子操作,可以在不使用传统互斥锁的情况下,保证多线程对共享变量的安全访问。在Java中,我们可以使用Atomic类…

2023最新版本 FreeRTOS教程 -6-创建多个任务使用相同的任务函数

利用任务函数的传参即可实现多任务使用相同的任务函数 如下创建了三个任务 使用同一个任务的函数 通过传参实现不同的操作 参数的具体定义 定义结构体和结构体数组 任务函数的具体定义 验证 同一个任务函数输出了三个不同的参数(实际改为不同的操作&#xff0…

UnityShader(四)

这次要只用顶点着色器和片元着色器实现水面效果,思路很简单,就是先把顶点坐标从模型空间转变到齐次裁剪空间,再左乘unity_ObjectToWorld矩阵转变到世界坐标,将世界坐标的y按照正弦规律变化即可得到水面的波涛汹涌的效果&#xff0…

Linux驱动开发——USB设备驱动

目录 一、 USB 协议简介 二、 Linux USB 驱动 三、 USB 设备驱动实例 一、 USB 协议简介 USB(Universal Serial Bus,通用串行总线)正如它的名字一样,是用来连接PC外设的一种通用串行总线,即插即用和易扩展是它最大的特点。所谓即插即用&am…

使用Python从零实现多分类SVM

本文将首先简要概述支持向量机及其训练和推理方程,然后将其转换为代码以开发支持向量机模型。之后然后将其扩展成多分类的场景,并通过使用Sci-kit Learn测试我们的模型来结束。 SVM概述 支持向量机的目标是拟合获得最大边缘的超平面(两个类中最近点的距…

我哭了,终于找到了合适的程序员接单平台!

说起我接单这条道路可真是艰难又漫长。 为什么说它艰难呢? 因为我总是被骗。 第1次接单的时候,由于是熟人,所以没好意思狠下心要价,结果辛辛苦苦搞了半个月到口袋的钱还没有我请别人帮我介绍单子的钱多还各种各样的挑剔。第2次我…

开联通支付牌照“易主”

据西米支付网报道,最新消息显示,持牌支付机构开联通支付服务有限公司(以下简称“开联通支付”)发生了股权出质。该公司已经出质的股权总额达到9000万元,占有公司股权总数的90%。 根据登记编号为91110108565839081K_000…

scrapy案例教程

文章目录 1 scrapy简介2 创建项目3 自定义初始化请求url4 定义item5 定义管道 1 scrapy简介 scrapy常用命令 |命令 | 格式 |说明| |–|–|–| |startproject |scrapy startproject <项目名> |创建一个新项目| |genspider| scrapy genspider <爬虫文件名> <域名…

【Linux】磁盘阵列,了解不同raid的特点

一、raid和阵列卡介绍 1、什么是磁盘阵列&#xff1a; 磁盘阵列是利用虚拟化存储技术把很多块独立的磁盘组合成一个容量巨大的磁盘组&#xff0c;利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术&#xff0c;将数据切割成许多区段&#xff0c;分别存放…

CRM系统如何帮助无损检测设备企业发展?

得益于新兴行业的高速发展&#xff0c;近些年无损检测设备在国内市场得到了规模增长。通过搭建完整的CRM客户管理系统&#xff0c;打通营销、销售及服务各环节&#xff0c;进一步提高企业市场竞争力。CRM系统如何帮助无损检测设备企业发展&#xff1f; 无损检测设备企业无论在…

CSS 边框、轮廓线

一、CSS边框&#xff1a; CSS边框属性允许指定一个元素边框的样式和颜色。 1&#xff09;、边框样式&#xff1a;border-style属性用来定义边框的样式&#xff0c;border-style值&#xff1a; 2&#xff09;、边框宽度&#xff1a;border-width属性用于指定边框宽度。指定变宽…

TCP编程及基础知识

一、端口号 为了区分一台主机接收到的数据包应该转交给哪个进程来进行处理&#xff0c;使用端口号来区分TCP端口号与UDP端口号独立端口用两个字节来表示 2byte&#xff08;65535个&#xff09; 众所周知端口&#xff1a;1~1023&#xff08;1~255之间为众所周知端口&#xff…

软件测试/测试开发丨Python安装指南(macOS)

点此获取更多相关资料 下载 Python 解释器 下载地址: https://www.Python.org/downloads/macos 通过下载页面&#xff0c;可以在该页面上看到下载链接。 下载完成后会得到 Python-3.10.11-macos11.pkg安装文件 。 安装 Python 解释器 双击Python-3.10.11-macos11.pkg文件&a…

Vue3指令

Vue 指令&#xff08;Directives&#xff09;是 Vue.js 的一项核心功能&#xff0c;它们可以在 HTML 模板中以 v- 开头的特殊属性形式使用&#xff0c;用于将响应式数据绑定到 DOM 元素上或在 DOM 元素上进行一些操作。 Vue 指令是带有前缀 v- 的特殊 HTML 属性&#xff0c;它赋…

Linux操作系统中软件安装:用RPM包管理器安装软件步骤

安装软件的一般步骤如下&#xff1a; 1.打开终端&#xff0c;作为root用户或使用sudo命令获取管理员权限。 2.使用RPM命令进行软件包的安装。例如&#xff0c;使用“rpm -ivh 软件包名称.rpm”命令来安装软件包&#xff0c;其中“-i”表示安装&#xff0c;“-v”表示显示详细安…