java - 如何在不同的包中使用 forName() 获取类?

标签 java class package

好吧,考虑以下示例:

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

<小时/>

编辑

这里有一些更多背景:

完整询问信息: enter image description here

这是我的批处理文件、jar 文件和包含我尝试访问的文件的 src 文件。

这是 src 文件中的类:

enter image description here

这是我的批处理文件: enter image description here

现在,当我尝试访问文件 Doo 时,出现以下错误:

enter image description here

干杯。

最佳答案

这就是问题:

java -cp src -jar FooJar.jar

来自java tool documentation :

When you use the -jar option, the specified JAR file is the source of all user classes, and other class path settings are ignored.

尝试运行它:

java - cp src;FooJar.jar foo.Whatever

(其中 foo.Whatever 是包含 main 方法的类的完全限定名称)。

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

相关文章:

java - 无法从文件名中读取特殊字符

java - 如何使用 JAVA 在 Selenium WebDriver 中打开 Chrome 开发者控制台

java - 按 ID 跨表拆分 hibernate 实体

C++ (g++) 编译错误,预期为 "="/etc。 'MyWindow"(我的类(class)名称)之前

macos - 如何打包 node web-kit 应用程序以在 mac 应用程序商店中发布?

java - 是否有使用 Mina 2.x 的 modbus 实现?

java - 调用内部带有 for 循环的方法,而不更新变量

c++ - 非静态成员函数能否访问静态成员函数或数据?

java - 如何在eclipse中以分层 View 创建包

package - 发布时更改 Windows Phone 8.1 应用程序版本的 Windows 通用应用程序包版本号