好的,请考虑以下示例:
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/