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

Sat*_*ddu 5 java linux command-line jar executable-jar

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

目前我正在使用 -

    jar cvfm example.jar manifest.txt -C  Classes/ .
Run Code Online (Sandbox Code Playgroud)

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

rad*_*dai 3

没有办法从 jar 命令行实用程序中执行此类操作。依赖问题的解决方案主要有3种:

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