从maven依赖项动态加载类

时间:2011-10-13 22:53:50

标签: java maven classloader

我有maven依赖,其范围设置为运行时,另一个模块我尝试使用Class.forName(“com.example.something.full.path”)加载一个类,我看到ClassNotFoundException。我有模块B依赖于模块A.我正在尝试从B中加载一个类。我尝试使用Spring初始化我尝试使用Class.forName的类。我可以看到jar(模块A)在B的类路径中,还不够吗?

添加更多详情:

我正在尝试使用Eclipse进行测试。 最后,它必须作为webapp或任何独立java进程的一部分工作。

编辑:

对不起,我在描述问题时并不清楚。我试图动态加载内部类。当我使用Class.forName(“com.example.myclass $ innerclass”)时,它可以工作。

1 个答案:

答案 0 :(得分:0)

检查maven配置的最佳方法是使用maven运行主类:

mvn compile exec:java -D exec.mainClass=<your main class>

这将真实地告诉您是否存在依赖性问题。如果你得到这样的CNFE,那么几乎可以肯定的是,你所依赖的jar中没有指定名称的类。