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包)==然后就能够了。

 

 

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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 5次shift后门怎么清除_电脑按五次shift啥意思

    5次shift后门怎么清除_电脑按五次shift啥意思一、如何制作shift后门方法1在cmd窗口,敲打命令如下:copyc:\windows\explorer.exec:\windows\system32\sethc.execopyc:\windows\system32\sethc.exec:\windows\system32\dllcache\sethc.exeattribc:\windows\system32\sethc.exe+hattribc:\windows\system32\dllcache\sethc.ex

  • 说说anchorPoint[通俗易懂]

    说说anchorPoint[通俗易懂]anchorPoint属性是CGPoint(x,y),x,y的取值是按比例取值,一般用0~1,默认是(0.5,0.5),表示图层的position在自身的位置,举个例子,在红色view确定完大小位

  • c语言中getchar的运用_c语言中gets和getchar

    c语言中getchar的运用_c语言中gets和getchar1.从缓冲区读走一个字符,相当于清除缓冲区2.前面的scanf()在读取输入时会在缓冲区中留下一个字符’\n'(输入完s[i]的值后按回车键所致),所以如果不在此加一个getchar()把这个回车符取走的话,gets()就不会等待从键盘键入字符,而是会直接取走这个“无用的”回车符,从而导致读取有误3.getchar()是在输入缓冲区顺序读入一个字符(包括空格、回车和Tab)getchar()使用不…

  • 视屏剪辑软件 & free video editor

    视屏剪辑软件 & free video editor视屏剪辑软件&freevideoeditorpurposeaddanimationkeyframetotutorialsvideovlogdemostutorial

  • turtlebot+lms111+gmapping实践

    turtlebot+lms111+gmapping实践1.配置激光按照cartographer的配置来如果已经跑过cartographer无需配置2.计算机文件夹下需修改的地方在桌面上新建文档gmapping.launch.xml文件内容如下…

  • vue 计数器_vue实现计算器

    vue 计数器_vue实现计算器计数器的实现在页面上简单实现一个计数器<!DOCTYPEhtml><htmllang="en"><head><metach

发表回复

您的电子邮箱地址不会被公开。

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