如何从命令行创建一个类似于eclipse的可运行jar文件

时间:2013-04-24 17:25:17

标签: java linux command-line jar executable-jar

我知道eclipse会生成一个可运行的jar文件,其中提取并包含在jar文件中的所有库.jar文件。从命令提示符手动创建jar文件时,如何执行类似操作。我是否需要将所有lib jar提取到classes文件夹中?

目前我正在使用 -

    jar cvfm example.jar manifest.txt -C  Classes/ .

这会创建一个包含所有类文件的jar文件,我需要将所有库jar放在与此example.jar相同的文件夹中。

1 个答案:

答案 0 :(得分:3)

从jar命令行实用程序中无法做到这一点。依赖性问题有3个主要解决方案:

  1. 在您的MANIFEST.MF中,您可以引用其他jar文件作为类路径的一部分,然后人们可以使用java -jar [just your jar]调用您的代码并且您的依赖项将被选中
  2. 您可以将代码和依赖项打包到胖jar中(这就是您所描述的)。通常你只是转换你的项目使用一些构建工具(比简单的javac和jar更先进)并配置工具。例如with maven。请参阅两种不同的方法herehere
  3. (再次使用构建工具)你可以使用比胖罐更好的东西 - 使用one-jar。不同之处在于,使用胖罐会冒不同库中具有相同名称的文件的风险“碰撞”