当前位置: 首页 > 面试题库 >

如何在运行时动态地将外部jar文件添加到ClassPath?

张茂勋
2023-03-14
问题内容

我想尽可能使用Java代码将jar文件动态添加到我的项目的类路径中,我想使用外部jar文件并加载其类,以便稍后将其作为Beans执行(Spring框架)。

谢谢 :)


问题答案:

URLClassLoader child = new URLClassLoader (myJar.toURL(), this.getClass().getClassLoader());
Class classToLoad = Class.forName (“com.MyClass”, true, child);
Method method = classToLoad.getDeclaredMethod (“myMethod”);
Object instance = classToLoad.newInstance ();
Object result = method.invoke (instance);




 类似资料:
  • 问题内容: 为什么用Java这么难?如果要使用任何类型的模块系统,则需要能够动态加载JAR文件。有人告诉我,有一种方法可以通过编写自己的方法来完成,但这对于(至少在我看来)应该像调用以JAR文件作为其参数的方法一样容易的事情来说是很多工作。 对执行此操作的简单代码有何建议? 问题答案: 很难的原因是安全性。类加载器是不可变的。你不应在运行时随意向其添加类。实际上,我很惊讶能与系统类加载器一起使用。

  • 问题内容: 为什么用Java这么难?如果要使用任何类型的模块系统,则需要能够动态加载JAR文件。有人告诉我,有一种方法可以通过编写自己的方法来完成,但这对于(至少在我看来)应该像调用以JAR文件作为其参数的方法那样容易的事情来说是很多工作。 问题答案: 很难的原因是安全性。类加载器是不可变的。您不应在运行时随意向其添加类。实际上,我很惊讶能与系统类加载器一起使用。这是制作自己的子类加载器的方法:

  • (这似乎是一个微不足道的问题,但卡住了2天:() 我有一个可运行的jar(用创建)。jar中的一个类在类路径上查找xml文件。但是,我们不想在jar中捆绑xml文件,并希望它被外部化。 尝试到现在: > 在运行时设置类路径: == 在汇编插件中设置类路径 == 编辑: 已生成在罐子里: 编辑2: 所以我在jar中编辑了生成的,并重新创建了jar。还是找不到xml!

  • 这个标题非常接近如何在IntelliJ IDEA中添加外部库?以及将外部jar(lib/*.jar)添加到IntelliJ IDEA项目的正确方法。然而,我已经检查过了。 在“如何在IntelliJ IDEA中添加外部库?”,我不能很好地理解最佳答案的含义,也不能很好地理解在评论空间中提出相同问题的人。所以,有人给了他一个回答,显示了“向IntelliJ IDEA项目添加外部jar(lib/*.j

  • 我试过这样做:将外部jar(lib/*.jar)添加到IntelliJ IDEA项目的正确方法是在lib文件夹(我已经创建)下添加一个外部jar库文件“temp.jar”,并将其标记为库。然后我构建/重新构建项目,错误仍然表示包com。实例temp不存在。我正在使用Intellij IDEA 13.1免费版和Gradle。

  • 问题内容: 我试图在单击按钮时将诸如文本框,按钮之类的小部件添加到组合中。我已经尝试过了,但是我只能动态地添加这些小部件,最多不超过组合的大小。我的jface对话框是这样的,它具有滚动的复合文件,其中包含复合文件。在主要组合中,我还必须实现此功能的其他3个组合,因此,如果我向组合添加动态小部件,则它可能会扩展,但不应将现有组合叠加到该组合上,而应相应地调整其他组合,并且我应该能够在单击按钮时处理这