我正在尝试将jar文件中的类从URL加载到内存中,然后运行其中一个加载的类。我不希望用户可以访问类文件或jar。我已经看到了几个类似的问题,但他们没有得到答案。
我知道它可能会使用URLClassLoader和ByteArrayInputStream / ByteArrayOutputStream。
提前感谢您的帮助。
类似的未回答的问题:
答案 0 :(得分:2)
你走在正确的轨道上(我想)。步骤将是:
我无法指出您的示例代码,因为我找不到任何代码。
(你几乎必须在内存中缓存内容,因为JarFile
API需要RandomAccessFile
,这意味着数据在文件系统中。在某些系统上你可以创建一个临时文件,打开一个RAF,取消链接,然后获取并将URL写入RAF。但这不是可移植的......)
我应该指出,如果您将此作为某些许可或“知识产权管理”计划的一部分,您可能会浪费您的时间。您希望在客户端代码中实现的任何实用方案(即在用户机器上运行的代码)都可能被破坏......除非机器完全锁定。