首页 > 解决方案 > 无法为旧版签名 JAR 派生模块描述符

问题描述

我正在尝试使用模块将软件系统更新到 JDK-11,直到我正面撞到上述问题之前,一切都很顺利。

我有一个遗留签名的 JAR,我需要将其合并以与遗留系统交互。无法更新 JAR,也无法获得新版本。JAR必须经过签名才能使用(整个“可信代码”交易等等)。问题是 JAR 包含未命名(根)包中的类。是的。愚蠢的。不好的做法。布拉布拉布拉。它还在那里,我仍然需要使用它。

我在任何地方都没有找到任何文档或答案可以远程表明我需要的东西是可能的。事实上,情况正好相反:每个人都坚信在“新”(i​​sh)模块系统中,没有类可以驻留在未命名的包中。

不用说我既不能修改 JAR 的内容,也不能获取源来渲染一个新的 - 这甚至没有考虑签名的问题......

也就是说:我不相信甲骨文的人会对遗留代码留下如此明显的疏忽。众所周知,很多时候我们别无选择,只能出于正当理由使用它,而且我们无法做任何事情来修复/更新/重构/等……我希望有一个机制添加到支持这一点的模块系统,尽管仅适用于极端情况,等等......等等......

免责声明:我完全理解为什么这不是要得到支持的。我遇到的困难是缺乏解决方法......

谢谢!

我已经尝试过:

标签: modulejava-11java-platform-module-system

解决方案


推荐阅读