zoukankan      html  css  js  c++  java
  • java项目导出为一个可执行文件jar包

    1.选择要导出的项目。

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

     

    2.选中导出的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: yqtestAutoSend.jar  



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

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

     

     

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

  • 相关阅读:
    使用IDEA整合SSM框架
    宏任务与微任务
    setTimeout的实现及其问题
    JS的闭合(Closure)
    this详解
    JS的作用域和作用域链
    JS的执行上下文
    JS内存机制
    抽象工厂模式(c++实现)
    迭代器模式(c++实现)
  • 原文地址:https://www.cnblogs.com/yxwkf/p/4712847.html
Copyright © 2011-2022 走看看