一个java工程在运行的时候怎么动态加载另一个java工程?
答案:2 悬赏:50 手机版
解决时间 2021-02-12 08:44
- 提问者网友:做自己de王妃
- 2021-02-12 04:52
作用就类似在第一个java工程的.classpath文件中加入了第二个java工程的引用
......
......
public static void loadJavaPrj(String prjPath){
??????
}
问号的地方我该怎么写呢?
最佳答案
- 五星知识达人网友:过活
- 2021-02-12 05:04
直接写上 new ClassFromPrj2(); 不用你手工“加载”,Java 中加载默认是由 JVM 虚拟器自动完成的,只要引用到的类ClassFromPrj2 在 classpath 中即可。等你达到中级水平,知道 Java Reflection 和 ClassLoader 之后你就知道是怎么回事了。
我是假设 loadJavaPrj 是第一个工程,假设它使用了第二个工程的类 ClassFromPrj2 的话,那就是
ClassFromPrj2 worker = new ClassFromPrj2();
worker.xxx();
你在运行中需要确保的是:prj2 这个工程的 jar 或 class folder 出现在 java -cp XXX 这个 classpath (-classpath 或 -cp) 参数列表中就可以了。
你在eclipse 项目的 .classpath 文件中发现的东西表明你还是尝试了解工具的细节,但那个仅仅是 Eclipse 用来帮我们生成命令行参数的配置文件,最终我们需要知道 javac 或 java 这样的命令行需要什么参数,这一点一般书上和老师都会讲到(但他们一般不会讲解Eclipse怎么工作的)。
全部回答
- 1楼网友:深街酒徒
- 2021-02-12 05:29
运行时,和.classpath 无关。
运行时引入别的.jar,看ClassLoader
ClassLoader
Class.getClassLoader()
Returns the class loader for the class.
这样并不是很好玩。如果原来没有一些类型的,都只能当Object。调用方法、属性什么的都使用反射
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯