使用Eclipse打做类库使用的jar包和做可执行文件的jar包(2)

来源:互联网 发布:守望先锋画质优化设置 编辑:程序博客网 时间:2024/06/05 12:03

使用Eclipse到处Jar包

  1. 在HelloJar项目上右键菜单,选择“Export...”;
  2. 在弹出的Export对话框选择JAR File选项,如:

    这里为什么选择JAR file而不是Runnable JAR file,稍后再说。
  3. 点击Next,选择项目和导出JAR的目录

    一路Next或直接Finish,完成。如果不出差错,这就成功导出了JAR包。

引用第三方JAR包

由于UserJar使用了HelloJar.jar,现在我们展示下如何引用第三方JAR包的。

在UserJar项目右键选择"Properties",打开对话框,点击“Add External JARs”按钮选择要引用的JAR包即可。

直接执行程序

在DOS命令行进入UserJar的bin目录执行,报了如下异常:

这是因为引用了第三方的JAR包,需要设置classpath才能执行成功:

  1. java -cp .;d:\jar\HelloJar.jar net.oseye.RunMain
如果引用很多第三方JAR岂不是很麻烦。于是我想把UserJar打成一个JAR包执行。


执行JAR包

最开始在网上搜到可以使用fatjar插件,可以把项目包括第三方JAR打成一个包。于是安装了fatjar,使用也非常方便。

  1. 在UserJar项目上右键选择"Build Fat Jar";
  2. 在对话框设置如下:

  3. Next,选择需要打成一个包的第三方JAR包,Finish即可。
  4. 执行JAR包:
    1. java -jar UserJar_fat.jar
    结果:
  5. 哈哈,这样是不是更方便。其实解压UserJar_fat.jar你就能看到HelloJar.jar:


使用Eclipse打Runnable JAR file包

上文说到为什么选择JAR file而不是Runnable JAR file,这里就简单说下两者的区别。前者是只把项目打包,不包括第三方JAR,而后者可以,就像使用FatJar插件一样。

  1. 先在UserJar右键"Run As" > "Java Application"(这需要有Main Class才行),否则下面的步骤走不通的;
  2. 在UserJar项目右键,如第一张图,选择选择“Runnable JAR file”;
  3. 点击Next,进入Export对话框:

    一定要经过第一步的Run,否则你的“Lanuch configuration”是空的。点击Finish完成即可。
  4. 对Library handling的三个选项稍作说明:
    • Extract required libraries into generated JAR:只把第三方JAR包需要的class提取来和项目一起打包

    • package equired libraries into generated JAR:和fatjar差不多,是把第三方的JAR一起打包,只是和FatJar的目录不太一样,FatJar是放在lib文件夹下,而它是放在根目录了

    • 第三个选项是把第三方的JAR包拷贝到另一个子目录里,而使用MANIFEST来设置

      其中MANIFEST内容如下:
      1. Manifest-Version: 1.0
      2. Class-Path: . UserJar_lib/HelloJar.jar
      3. Main-Class: net.oseye.RunMain

总结:类库一般打包成JAR file,而可执行程序就没必要使用FatJar插件了,使用Eclipse自带的也蛮好的。

0 0