将库解压和打包成jar文件的区别 [英] Difference between extracting and packaging libraries into a jar file

查看:31
本文介绍了将库解压和打包成jar文件的区别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道使用可运行的 jar 文件创建从 eclipse 中提取和打包库到 jar 文件之间的区别.

I would like to know the difference between extracting and packaging libraries into a jar file from eclipse with the runnable jar file creation.

如果我的程序(可运行的 jar)使用其他需要这些外部库(jar)的类,我应该选择什么?

If my program (runnable jar) uses other classes which require these external libraries(jars), what should I pick?

推荐答案

如果要将 jars 放入生成的 jar 文件中,可以使用打包方式.例如,如果您使用 Apache 库或其他一些 3rd 方 jar,您可能希望将这些 jar 保留在生成的 jar 中.在这种情况下,请使用包装.Packaging required libraries into a jar file" 选项将 org.eclipse.jdt.internal.jarinjarloader 包的类放到你生成的文件中,这个包就在根目录下生成的 jar 文件.由于 Eclipse 的 jar 加载器类,此选项还会创建更大的 jar 文件.

If you want to put jars into your generated jar file, you can use packaging method. For example if you are using an Apache library or some other 3rd party jars, you may want to keep these jars preserved in your generated jar. In this case, use packaging. "Packaging required libraries into a jar file" option puts classes of org.eclipse.jdt.internal.jarinjarloader package into your generated file and this package is just under the root directory of the generated jar file. This option also creates a larger jar file in terms of size due to jar loader classes of Eclipse.

提取所需的库将导致按照包命名约定将第 3 方库的类放入您的 jar 文件中,例如如果打开 jar 内容,您可以在 org.apache.. 包下看到一些类.

Extracting required libraries will result in putting classes of 3rd party libraries into your jar file by following the package naming convention, e.g. if you open your jar content you can see some classes under org.apache.. packages.

这些 jar 文件的 MANIFEST.MF 文件之间的主类条目不同:

Main class entries are different between the MANIFEST.MF files of these jar files:

当您打包所需库时的主类入口:

Main class entry when you package required libraries:

Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader

当您提取所需库时的主类条目:

Main class entry when you extract required libraries:

Main-Class: YourMainClass

这篇关于将库解压和打包成jar文件的区别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆