java项目导出为一个可执行文件jar包

java项目导出为一个可执行文件jar包

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

1.选择要导出的项目。

对->export,选java在下面JAR file->next,选择要导出路径->next,finish。

 

2.选中导出的jar文件用压缩文件管理器打开

 java项目导出为一个可执行文件jar包

3.有个META-INF文件夹,把里面的MANIFEST.MF文件拖出来。此时MANIFEST文件内容应该仅仅有以下这一行:    

</pre><pre code_snippet_id="439185" snippet_file_name="blog_20140731_2_9115505" name="code" class="html"><span style="font-size:24px;"> Manifest-Version:1.0</span>

4.改动MANIFEST.MF。我改动后的内容例如以下:

Manifest-Version: 1.0
Main-Class: javamail.JavaMailTest    
Class-Path: mail.jar

 Main-Class后面是Main函数所在的类,javamail是包名。

 Class-Path 后面是用到的外部jar,有多个时用空格分开。

  我的mail.jar和自己导出的jar包是在同一文件夹下的,所以没有写其它路径。

  注意:Manifest-Version,Main-Class,Class-Path后面跟英文冒号,然后加一个空格,后面才写内容。每行的结尾一定记得用回车。包含最后一行。也就是说,在我这个文件里,最后关闭时,光标停留的位置应该是在Class-Path的以下一行,保险起见,还能够再敲两个空格。(没有为什么,就是MANIFEST.MF文件格式的要求==)

 

5.将改动后的MANIFEST.MF文件再拖回到原来的jar中,覆盖掉原有的MANAFEST.MF。

 

6.导出的jar包就能够执行了,

 e.g. 命令行输入

           java -jar  F:\tyqtest\AutoSend.jar  



==============切割线======

后来发现上面写的方法好笨,导出时直接选中导出为可执行包(runnable),并选中package required libraries into generated JAR(将引用的外部包导入生成的jar包)==然后就能够了。

 

 

版权声明:本文博客原创文章,博客,未经同意,不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117343.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Thinkphp5学习笔记

    Thinkphp5学习笔记架构Thinkphp5目录架构thinkphp应用部署目录├─application应用目录(可设置)│├─common公共模块目录(可更改)│├─in

    2021年12月13日
    46
  • request对象常用方法总结

    request对象常用方法总结JSP内置对象:request对象  客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。request对象具有请求域,即完成客户端的请求之前,该对象一直有效。常用方法如下:常用方法方法介绍StringgetParameter(Stringname)返回name指定参数的参数值Str

    2022年4月30日
    70
  • GoLang 2021.3 激活破解方法

    GoLang 2021.3 激活破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    170
  • python如何多行输出_python换行输出 Python里具体怎么用\n换行输出一个数字?[通俗易懂]

    python里如何把每打印10个数就换行的实现print(“每输出十个数字换行,共计输出100个:”)fornuminrange(1,100):#循环一百次print(“%3d”%num,end=””)#不换行输出if(num%10==0):print(“”)#换行输出人的一生要有多艰难,多坎坷而又要多幸运,多凑巧,才能遇到一个绊住自己心的人。如何用python将内…

    2022年4月10日
    90
  • linux常用命令vi 退出_vi怎么退出编辑模式

    linux常用命令vi 退出_vi怎么退出编辑模式Linux中vi、删除和退出简单操作

    2022年9月1日
    6
  • sqlite开发图形界面_linux下sqlite3头文件

    sqlite开发图形界面_linux下sqlite3头文件哈哈,朋友编写了一款服务器web界面管理工具,使用到了SQLite数据库。SQLite介绍SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl…

    2025年10月10日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号