【问题标题】:Eclipse: Export as runnabe Jar overwrites manifest [duplicate]Eclipse:导出为 runnabe Jar 会覆盖清单 [重复]
【发布时间】:2014-09-25 09:07:28
【问题描述】:

对于 Java 7,我必须更新我的可运行 jar(用于 Web 启动),因此清单必须包含权限标记。所以我在/src 下创建了一个META-INF 文件夹并将我的MANIFEST.MF 文件放在那里。使用Export -> Runnable JAR 导出项目只会用无用的默认清单覆盖我的清单...

下一步是使用Export -> JAR,其中不包含任何外部库(如 apache 中的 opencmis 库),无论我使用哪些选项。这个罐子不能用。

最后一步是让 build.xml 从第一步创建,我在 build.xml 中手动添加清单标签并运行 ant 构建。这是可行的,但现在在 Jar 的 META-INF 文件夹中,我有 5 个 LICENSE 文件、5 个 NOTICE 文件和 5 个 DEPENDENCIES 文件。我无法签署这个 jar,因为所有这些文件都具有相同的名称。

说清楚,我想:

  • 包括自定义 MANIFEST.MF
  • 将所需的库提取到生成的 JAR 中以扩充引用的 jar 文件并将类复制到生成的 jar 中

使用 Eclipse 导出向导,无法实现这两种行为

那么谁能告诉我如何将权限标签添加到清单中,使用所有需要的库构建 Runnable JAR 并签署 jar?

谢谢大家! 迈克尔

【问题讨论】:

  • @aaron-digulla 回答来自 2010 年,不再有效。
  • @sventechie:似乎你不能再用 Eclipse 来做这件事了。将命令行与 Ant 或 Maven 一起使用。

标签: java eclipse executable-jar


【解决方案1】:

导出时,您可以标记“使用现有清单”。

【讨论】:

  • 使用 Eclipse Kepler 和 Luna,我无法通过“可运行 JAR 导出向导”选择“使用现有清单”。此选项仅在“JAR 导出向导”中可用,我不能包含外部库,如 apache opencmis 库。
  • 必须在清单文件中指定对外部库/JAR 文件的引用。然后它们将被合理地包括在内。
  • 我怎样才能告诉导出器提取库以便只有需要的类文件在 JAR 中?使用库 jar,我的 Jar 大约 9mb 大,提取的库类文件只有 1mb。为什么在上帝的份上,'Runnable Jar Export Wizzard' 不能使用我的自定义清单并覆盖它?这只是没有意义吗?
  • 看看这个:help.eclipse.org/luna/…
  • 您是否看到我可以选择自己的清单文件的任何步骤/选项?抱歉,我很沮丧,为什么事情总是这么复杂:/
猜你喜欢
  • 2011-03-04
  • 2012-09-15
  • 1970-01-01
  • 2011-09-01
  • 2021-12-23
  • 2013-06-11
  • 2018-04-13
  • 2017-05-24
  • 1970-01-01
相关资源
最近更新 更多