好吧,不管怎样,也许它很复杂......
我对java不是很有经验,虽然我已经涉足过创建一些Minecraft mods和Android应用程序。 我的问题是:我有一个.jar,其中包含我没有很多控制权的代码(我没有源代码,虽然我有关于其中的类的一些信息),当这个jar是运行它本身从其他外部库和类加载一些代码,并整合所有内容。
我的问题是,如何在不触及/修改jar的情况下,创建一个运行jar的java程序,让它从其他jar和外部类进行整合,然后得到结果(几个对象)整合到我自己的java程序中?甚至在java安全模型中是否允许这样做?
我听说过URLclassloader,我认为是从jar加载加载类。它似乎无法使它工作,我甚至不确定它会起作用吗?我大致知道哪些类是jar中的入口点,以便运行它并使其加载外部库。但我总是左右碰到异常。
答案 0 :(得分:0)
首先,您应该确保所有第3个partyd依赖项(例如,jar
需要的库)对您的应用程序是可见的(例如驻留在类路径和/或-Djava.library.path
上)。接下来,您应该正常地从jar
文件中实例化类/调用方法,并使用Java应用程序本地创建的返回对象进行操作。 jar
文件只是一个外部库,在加载时成为应用程序的一部分。