在java中实例化jar文件之外的类?

时间:2014-12-19 01:38:21

标签: java

是否可以在jar文件外部加载一个类。

  • Janibot //主要目录
    • lib //子目录
      • Robot.java
      • Robot.class
    • Janibot.jar //子目录

以上是目录的结构。我想要做的是在使用Class.forName运行Janibot.jar时实例化Robot类,但它总是返回classnotfoundexception。

我的计划是在JtextArea中编辑Robot.java并在运行时编译它然后实例化Robot.class

1 个答案:

答案 0 :(得分:2)

是的,只要您使用标准Java *,那么部署类(jar文件,松散类)并不重要。重要的是你在类路径上启动了包含所有相关类目录和jar文件的应用程序。

假设您位于项目的根目录(Janibot)中,以下java命令将完成此任务:

java -classpath ./lib:./janibot.jar  <class_to_execute>

(* OSGI将是一个例外.OSGI使用不同的类加载器和不同的规则集,但我认为这不在图中)