首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >eclipse indigo中的可运行jar创建选项

eclipse indigo中的可运行jar创建选项
EN

Stack Overflow用户
提问于 2013-01-16 19:08:49
回答 2查看 1.1K关注 0票数 1

我使用eclipse indigo创建了一个可运行的jar,我遇到了两种选择:

Extract required libraries into generated jar

Package required libraries into generated jar

虽然使用第一个选项创建只生成了一个包含应用程序包和META-INF包的jar文件,但第二个选项还创建了一个org包。

它的子文件夹org> eclipse> jdt> internal> jarinjarloader进一步扩展了这个org包。jarinjarloader包包含一些我以前没有见过的类。

这是我在第二个选项中的清单文件:

代码语言:javascript
复制
Manifest-Version: 1.0
Rsrc-Class-Path: ./
Class-Path: .
Rsrc-Main-Class: main.SimpleCalculator
Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader

main是我的应用程序包,SimpleCalculator是我的主类。

我的问题是:

1)这两个选项有何不同,第二个选项添加的新类是什么?另外,在第二个选项的清单中有哪些不同的名称-值对?

2)此外,除了它们的清单文件允许可运行的jar成为可执行文件之外,不可运行的jar和可运行的jar之间是否有任何区别。(在创建一个不可运行的jar文件时,我找到了在我的项目中指定main-class的选项,所以我是不是遗漏了什么,或者只是eclipse试图提供额外的帮助?)

注意:我对这两个选项有一些猜测,但它们只是...猜猜看!

提前感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-16 19:20:34

1)这两个选项有什么区别?

What is the difference between runnable jar library handling options?

2)第二个选项添加的这些新类是什么?

org包是为jar-in-jar-loader提供的。有了package option,它就会变成胖乎乎的jar,你的主类就不再是真正的main了,请看这种情况下的manifest。

来自Ant,但您的想法是正确的吗?

代码语言:javascript
复制
 <attribute name="Main-Class" value="org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader"/>
 <attribute name="Rsrc-Main-Class" value="YourRealMainClass"/>

3)另外,除了清单文件之外,不可运行的jar和可运行的jar之间有什么区别吗?

我不这么认为,但是从Eclipse导出不可运行的jar,您可以指定要包含的文件,而不是更灵活。

票数 2
EN

Stack Overflow用户

发布于 2013-01-16 19:25:45

第一个问题的答案是,第一个选项提取依赖类文件和资源,然后将它们打包到您的jar文件中,您需要注意使用此选项的许可证问题

至于第二种选择,它只打包:按原样将jar文件添加到您的jar文件中,并通过清单引用它们。

还有一个用于创建可运行jar文件的选项,它将所有依赖项jar文件放在与项目的可运行jar相邻的文件夹中,并在清单中的该文件夹中包含对该jar的引用。

第二个问题的答案是,是的,eclipse试图通过使用您的Runtime配置来简化工作,以便您可以基于您选择的任何配置创建一个可运行的jar。您可以通过手动创建清单来创建一个可运行的jar,其中包括主类。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14356958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档