java project 导出介绍

来源:互联网 发布:陈国良院士 大数据 编辑:程序博客网 时间:2024/05/16 15:08
1 普通 jar 包:导出的包是用来被其他包引用的,一般类里面不含有 main 方法。
1.1 首先在Eclipse中打开项目, 右键点击项目,选择“Export”;
1.2 选择Java/JAR file,Next;
1.3 Select the resources to export:选择你【想要包含的项目文件夹】,一些不必要的文件夹就无需放进去了,免得增大空间

    导出选项说明:
    1.3.1 Export generated class files and resources:表示只导出生成的【.class文件和其他资源文件】。
    1.3.2 Export all output folders for checked projects:表示导出项目中被【选中的所有文件夹】。
    1.3.3 Export java source file and resouces:表示导出的jar包中将包含你的源代码*.java,如果你不想泄漏源代码,那么就不要选这项了。
    1.3.4 Export refactorings for checked projects 把一些重构的信息文件也包含进去
在Select the export destination中选择导出的jar的路径 。然后点击【Next】
1.4 下一页可以选择是否导出那些含有警告warning或者错误errors的*.class文件。一般不用理他,Next
1.5 下一个页面里可以对项目做一些配置。(如果项目没有引入第三方jar包,这项我们采用系统默认的选项就OK,Main class 一定要设置成为你项目的那个【主方法入口类】)
    * Generate the manifest file:是系统帮我们自动生成MANIFEST.MF文件,如果你的项目没有引用其他class-path,那可以选择这一项。
    * Use existing mainfest from workspace:这是可以选择我们自定义的.MF文件,格式如上所写。
    * Seal content:要封装整个jar或者指定的包packet
    * Main class:这里可以选择你的程序入口,将来打包出来的jar就是你这个入口类的执行结果。
最后Finish,搞定。

2.可运行 jar 包:导出的jar 包是用来【直接运行的】
1.1 首先在Eclipse中打开项目, 右键点击项目,选择“Export”;
1.2 选择Java/Runnable JAR file,Next;
1.3 Launch configuration:指定被导出的项目,命名方式 MainClass-projectName,MainClass 指的是被导出的项目中带有 main 方法的 className,后面的是项目的名称。
1.4 Export destination:导出的目标路径
1.5 library handling:jar 包的处理方式
    导出选项解析:
    1.5.1 Extract required libraries into generated JAR:把引用到的 jar 跟当前项目的 jar 包打包到一起。
    1.5.2 Package required libraries into generated JAR:把引用到的 jar 放入到一个文件夹中,然后跟当前项目的 .class 文件打包到一起。
    1.5.3 Copy required libraries into a sub-folder next to the generated JAR:把引用到的 jar 包单独的放入到一个文件夹中,然后跟当前项目的 jar 包并列的存放。
    
1.6 对 1.5 中打包方式的利弊分析:
    1.5.1 的打包方式把当前的项目导出为一个 jar 文件,source 目录下编译之后的文件都打包到一起,这种方式便于携带,缺点是这种方式把自己的文件以及引用到的 jar 包都混合起来了。
    1.5.2 这种方式也是只有一个 jar 文件输出,但是它会把当前用到的 jar 包给放入到一个统一的目录下,比第一种方式要容易区分到底哪些是自己的东西,哪些是引用的东西。
    1.5.3 这种方式输出一个 jar 文件,一个包含了所有引用到的 jar 包的文件夹,这种方式输出的文件数多,但是它有一个好处就是如果你处于开发阶段的话,那么当你要把自己的工程在远程的机器上执行的时候,它就会变得方便了,因为这个时候,当你更新了项目的时候,你只需要上传自己修改该后的项目 jar,而不需要把引用的 jar 包也同时上传一遍,当然前提是你引用的 jar 包没有变化。
    
3 注意:

    如果你的项目中除了源文件之外还用到了其他文件,比如你的项目里面用到了 phantomjs 这个工具,它本身跟 java 没什么关系,你之所以把它放进来是因为,你希望自己可以随时在其他没有 phantomjs 环境中使用它,而不需要在他配置很多东西,这个工具它既不是 class 文件,也不是 资源文件,而是一个二进制的可执行文件,这个时候你不应该把它放入到源文件中,你应该把它放入到一个文件夹中,而且在把项目打包时它不会被打包进去,你应该够把它单独的复制出来进行使用。

4.可运行 jar 包的分析:
    可运行的 jar 跟普通 jar 包的区别在于可运行的 jar 包中的 META-INF 文件夹中的 MANIFEST.MF 文件中定义了 Main-Class: com.vaolan.controller.Driver 这个选项,所以在 执行 java -jar xxx.jar 的时候命令会根据这个 Main-class 参数去调用相应的 main 方法。

    小技巧:有时候你会发现尽管自己的 项目中有了 main 方法,但是在导出的时候却找不到自己要导出的那个项目,这是因为你带有 main 方法的 java 文件没有运行过,所以 eclipse 没有记录下来,所以就无法自动的推荐你导出它,这个时候你需要运行一下那个带有 main 方法的类,然后再选择导出 jar 文件,这个时候你就可以找到你要导出的那个文件了。



0 0
原创粉丝点击