eclipse生成【带有外部jar包】的java可执行jar包

简介: 之前有写过一篇使用eclipse生成java可执行jar包,但是最近的一次使用中无论如何都不成功,当双击执行打成的jar时,弹出如下错误:could not find the main class:mailTest.SendMailTest1.Program wil exit针对这一问题,我首先想到在上一次编写java聊天小程序打包时的问题,也是这个错误,当时网上说需要更改
之前有写过一篇使用 eclipse生成java可执行jar包,但是最近的一次使用中无论如何都不成功,当双击执行打成的jar时,弹出如下错误:
could not find the main class:mailTest.SendMailTest1.Program wil exit


针对这一问题,我首先想到在上一次编写java聊天小程序打包时的问题,也是这个错误,当时网上说需要更改eclipse中该项目的jdk版本为1.6,如图:


虽然意料之中,但是依旧有些遗憾的是,这样修改后生成的jar包,在双击执行时依旧弹出图1的错误,然后在网上搜索之后,找到了一个正确的步骤,也知道了按之前方法打包不成功的原因。(不过,这一次打包时,发现还是必须改成1.6才成功,和上次也不一样)

原因在于之前的方式的前提是没有引用外部的包,而这里是引用了发邮件的那个mail包。

正确的步骤如下:
1、鼠标右击项目--》选择export--》选择java--》选择JAR file--》点击next--》选择要生成的jar包的存放路径,如图:


--》点击next--》继续next(必要时可以去掉这里出现的界面中最上边两个选项)--》在出现的界面如图操作:


勾选箭头1处,然后在Manifest file后边选择输入“/项目名/文件名”--》点击finish,之后会看到项目中多出一个文件,如果没有看到,刷新下项目应该可以看到:


2、打开刚才生成的文件,例如这里的SendMailTest1,在里边添加两行:
Main-Class: main方法所在的类的全路径
Class-Path: 外部jar包的路径

因为这个文件生成的时候自己写入了一行,因此加入上边两行以后文件中会有三行:

这里需要注意的是,我一开始按这个步骤打出的jar执行后还是图1的错误,后来查了好久才知道我在写入那两行数据时冒号后边没有空格,所以这里一定要空格才可以。

3、保存上边的文件后,在执行一开始的步骤: 鼠标右击项目--》选择export--》选择java--》选择JAR file--》点击next--》选择要生成的jar包的存放路径--》点击next--》继续next(必要时可以去掉这里出现的界面中最上边两个选项)--》在出现的界面如图操作:


和之前的选择不一样,这里需要选中箭头1指的地方,然后在Manifest file后选择刚才生成和修改过的这个文件--》点击finish,jar生成成功。

我这个小程序的main方法就实现了一个很简单的功能,双击后发送一封邮件到我的qq邮箱,只要我收到了就证明成功:




目录
相关文章
|
1月前
|
Java 数据安全/隐私保护
JAVA包
JAVA包
12 0
|
1月前
|
Java 开发工具 Windows
Windows环境下面启动jar包,输出的日志出现乱码的解决办法
Windows环境下面启动jar包,输出的日志出现乱码的解决办法
|
1月前
|
网络协议 Java Nacos
Nacos报错问题之jar 包启动就报错误如何解决
Nacos是一个开源的、易于部署的动态服务发现、配置管理和服务管理平台,旨在帮助微服务架构下的应用进行快速配置更新和服务治理;在实际运用中,用户可能会遇到各种报错,本合集将常见的Nacos报错问题进行归纳和解答,以便使用者能够快速定位和解决这些问题。
|
1月前
|
Java Shell Docker
Docker启动后怎样运行jar包文件
Docker启动后怎样运行jar包文件
|
20天前
|
Java Maven 微服务
springboot项目开启远程调试-jar包
springboot项目开启远程调试-jar包
17 0
|
7天前
|
Java Maven
【Java报错】显示错误“Error:java: 程序包org.springframework.boot不存在“
【Java报错】显示错误“Error:java: 程序包org.springframework.boot不存在“
30 3
|
17天前
|
Java
java中jar启动设置内存大小java -jar 设置堆栈内存大小
java中jar启动设置内存大小java -jar 设置堆栈内存大小
11 1
|
25天前
|
Java 数据库连接 API
Java 学习路线:基础知识、数据类型、条件语句、函数、循环、异常处理、数据结构、面向对象编程、包、文件和 API
Java 是一种广泛使用的、面向对象的编程语言,始于1995年,以其跨平台性、安全性和可靠性著称,应用于从移动设备到数据中心的各种场景。基础概念包括变量(如局部、实例和静态变量)、数据类型(原始和非原始)、条件语句(if、else、switch等)、函数、循环、异常处理、数据结构(如数组、链表)和面向对象编程(类、接口、继承等)。深入学习还包括包、内存管理、集合框架、序列化、网络套接字、泛型、流、JVM、垃圾回收和线程。构建工具如Gradle、Maven和Ant简化了开发流程,Web框架如Spring和Spring Boot支持Web应用开发。ORM工具如JPA、Hibernate处理对象与数
90 3
|
25天前
|
Java Serverless 测试技术
Serverless 应用引擎常见问题之上传自定义jar包自动vpc启动报错如何解决
Serverless 应用引擎(Serverless Application Engine, SAE)是一种完全托管的应用平台,它允许开发者无需管理服务器即可构建和部署应用。以下是Serverless 应用引擎使用过程中的一些常见问题及其答案的汇总:
32 4
|
28天前
|
Java
Java包及访问限定
Java包及访问限定
8 0

推荐镜像

更多