【问题标题】:Can you open a jar file, change some icons, and close it again?你能打开一个 jar 文件,更改一些图标,然后再次关闭它吗?
【发布时间】:2016-06-21 22:20:31
【问题描述】:

这个问题源于 Eclipse 中的一个老痛点。高 dpi 显示器上的图标太小了。在文件系统中搜索图标(可能是 .png 或 .gif 文件)也无济于事。它们隐藏在 Eclipse jar 文件中。

幸运的是,最新的 Neon 版本有望解决这个问题。尽管如此,如果我能接触到图标并对其进行调整,我会很高兴。让我的编程环境完全自定义会非常有趣。

是否可以打开一个jar文件,取出一些图标,用你自己的替换,关闭jar文件并启动Eclipse?

或者是在 Github 上的某处下载整个 Eclipse 源代码并从头开始编译所有内容的唯一方法(用您自己的图标替换原始图标)?如果这是唯一的可能性,那么我就放弃了(除非我能在某个地方找到有关如何构建它的教程)。

编辑: 显然,您不能只更改 jar 中的某些文件,因为这会弄乱“签名”。 Eclipse 将不再运行您更改的插件 jar。有人将我重定向到以下 StackOverflow 主题,该主题描述了如何取消对 jar 文件的签名: Unsigning a signed jar

当您签署 jar 文件时,新文件会添加到 META-INF 目录中,例如“MKSIGN.SF”和“MKSIGN.DSA”。只需将它们从 jar 文件中删除(使用任何 zip 实用程序),您就可以将其未签名。

我已遵循此建议,但没有帮助。 Eclipse 仍然拒绝运行我更改过的任何插件 jar。

编辑: 这些是我在 jar 文件中删除的文件:

  • META-INF/ECLIPSE_.SF
  • META-INF/ECLIPSE_.RSA

【问题讨论】:

  • 如何您遵循了该建议,您收到什么错误消息?你到底删除了哪个文件? Eclipse 中签名文件的确切名称不同。
  • 您好@JonahGraham 先生,非常感谢您的帮助。我添加了 EDIT 来回答您的问题。
  • 好的,当我这样做时它对我有用。如果没有关于问题的错误消息,我根本无法再提供帮助。我的猜测是重新压缩的文件在某种程度上不再正确。有没有试过用“jar”工具来操作。
  • 嗨@JonahGraham,非常感谢您的帮助和耐心。我基本上将 jar 转换为 zip 文件(只需将文件名中的 .jar 替换为 .zip),解压缩,进行更改(删除这两个文件),再次将文件夹转换为 zip 文件,然后替换 .使用 .jar 压缩文件名。也许我的做法有点幼稚?
  • 我刚刚查看了您的网站 kitchwacoders。真是太棒了。您实际上是 Eclipse 开发人员之一?

标签: java eclipse jar eclipse-plugin


【解决方案1】:

Eclipse 插件 jar 已签名,如果 Eclipse 认为它们已被篡改,它们将无法工作。所以是的,您必须从头开始构建它们才能更改它们。

将于 6 月发布的 Eclipse Neon (4.6) 对高 DPI 屏幕进行了一些改进,因此您可以尝试一下。候选版本 3 目前可用。

【讨论】:

  • 谢谢先生。从头开始建设可行吗?是否有任何分步指南可以帮助您完成整个过程(在 Windows 上)?
  • 对不起,我不知道从头开始构建。
  • @K.Mulier 您可以从git.eclipse.org/c 签出您想要的代码,然后(通常)执行 mvn 包,结果将在 releng.p2/target/repository 目录中
  • PS 您也可以去掉现有 JAR 中的所有签名并更改内容。
  • “剥离所有签名”是什么意思?
【解决方案2】:

jar 文件是一个 rar 文件,其中包含一些预定义的目录和元文件。可能有某种特定于 Eclipse 的哈希检查,但对于基本的 JAR,您可以提取它、修改资源并重新压缩,并且效果很好。尝试使用 WinRAR 打开您正在处理的 jar。我敢打赌,这将是一种开放、编辑、关闭类型的交易。

【讨论】:

  • 我已经尝试过这种方式,但没有成功。也许我做错了什么?可以试试吗?
  • .jar 文件不是 RAR 文件。它是一个 zip 文件,是 WinRAR 可以打开的格式之一。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多