我知道 eclipse 会生成一个可运行的 jar 文件,其中提取并包含在该 jar 文件中的所有库 .jar 文件。从命令提示符手动创建 jar 文件时如何执行类似的操作。我需要将所有 lib jar 解压到类文件夹中吗?
目前我正在使用 -
jar cvfm example.jar manifest.txt -C Classes/ .
它创建了一个包含所有类文件的 jar 文件,我需要将所有库 jar 放在与 example.jar 存在的同一文件夹中。
没有办法从 jar 命令行实用程序中执行此类操作。依赖问题的解决方案主要有3种:
- 在 MANIFEST.MF 中,您可以引用其他 jar 文件作为类路径的一部分,然后人们可以使用以下命令调用您的代码
java -jar [just your jar]
并且您的依赖项将被拾取
- 您可以将代码和依赖项打包到一个 fat jar 中(这就是您所描述的)。通常,您只需将项目转换为使用某些构建工具(比简单的 javac 和 jar 更高级)并配置该工具。例如与行家 http://maven.apache.org/。查看两种不同的方法here http://www.thekua.com/atwork/2008/10/generating-a-single-fat-jar-artifact-from-maven/ and here https://code.google.com/p/maven-fatjar-plugin/
- (再次使用构建工具)你可以使用比胖罐子更好的东西 - 使用one-jar http://one-jar.sourceforge.net/。不同之处在于,使用 fat jar 时,您会面临不同库中同名文件“冲突”的风险
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)