好的,请考虑以下示例:

inside of the src/ folder, i have the following packages :

org/

com/


Foo类位于org.somepackage;中。

类Doo位于com.apackage;中。

Foo需要使用Class.forName();访问Doo。

如果我尝试使用Class.forName(“ com.apackage.Doo”);

我得到ClassNotFoundException因为它们在不同的包中。

Foo怎么能在这个组织中访问Doo?



编辑

这里是一些背景:

有关信息的完整询问:


这是我的批处理文件,JAR文件以及包含要尝试访问的文件的src文件。

这是src文件中的类:



这是我的批处理文件:


现在,当我尝试访问文件Doo时,这是错误消息:



干杯。

最佳答案

这就是问题:

java -cp src -jar FooJar.jar


java tool documentation


使用-jar选项时,指定的JAR文件是所有用户类的源,而其他类路径设置将被忽略。


尝试将其运行为:

java - cp src;FooJar.jar foo.Whatever


(其中foo.Whatever是包含您的main方法的类的标准名称)。

关于java - 如何在不同的包中使用forName()获取类?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26206741/

10-09 09:34