1

好吧,也许它是令人费解的,无论如何......

尽管我涉足创建了一些 Minecraft mods 和 Android 应用程序,但我对 java 不是很有经验。我的问题是:我有一个 .jar,其中包含我没有太多控制权的代码(我没有源代码,尽管我确实有一些关于其中的类的信息),当这个 jar 是运行它本身从其他外部库和类加载一些代码,并整合所有内容。

我的问题是,我如何在不接触/修改 jar 的情况下制作一个运行 jar 的 java 程序,让它从其他 jar 和外部类进行整合,然后得到整合的结果(一些对象)到我自己的java程序?java安全模型中是否允许这样做?

我听说过我认为是从 jar 加载加载类的 URLclassloader。它似乎无法使它工作,我什至不确定它会起作用吗?我大致知道哪些类是 jar 中的入口点,以便运行它并使其加载外部库。但我总是遇到左右例外。

4

1 回答 1

0

首先,您应该确保所有 3rd 方依赖项(例如您jar需要的库)对您的应用程序是可见的(例如驻留在类路径和/或-Djava.library.path)。接下来,您应该只从您的文件中正常实例化类/调用方法,jar并使用返回的对象进行操作,因为它是由您的 Java 应用程序在本地创建的。jar文件只是一个外部库,在加载时成为应用程序的一部分。

于 2013-01-16T14:35:20.307 回答