2

在 Eclipse 中,我有 2 个不同的项目:ProjectX、通用和特定于 projectA。

在 projectX 中:

 public static final Plugin getPlugin(String sIdentifier ) {
     String sPluginClassName = "packageName.blabla.ClassName";
     try {
                pluginClass = Class.forName(sClassName);
    ...
    } catch (ClassNotFoundException e) {
                throw new BusinessException(sIdentifier, e);
    }
}

在项目A中:

package packageName.blabla;

public class ClassName () {
 ....
}

在执行期间,由于 ClassNotFoundException,我得到了一个 BusinessException。类路径没问题(复制/粘贴未写入)。在 eclipse projectA java build path / libraries 中包含 projectX 文件夹,projectX build path 没有对 projectA 的任何引用(似乎合法)。

这在与 ProjectX 的 projectB 特定交互中效果很好(我不知道差异在哪里:我已经检查了两个构建路径,它以相同的方式完成)。

任何想法?

4

1 回答 1

4

projectX 构建路径没有对 projectA 的任何引用(似乎合法)。

虽然您不需要 projectA 上 projectX 的构建时依赖项,但 projectA 的“bin”目录需要位于 projectX 的执行类路径中。如果不是,那么对Class.forNamein的调用getPlugin将不会查看“projectA/bin”目录,也不会找到它试图加载的类。


可以通过“运行 > 运行配置”窗口配置执行类路径。

  • 为您的应用程序选择运行配置。
  • 转到类路径面板
  • 选择用户类路径
  • 单击“添加项目”并选择要添加的项目。
  • 应用配置更改。
于 2013-08-23T09:37:29.330 回答