项目中的Maven ClassNotFoundException

时间:2016-12-15 12:19:35

标签: java maven classloader

我正在进行以下设置:

我有一个项目A,用于分析另一个maven项目B. 项目A作为依赖项添加到项目B中,使用exec-maven-plugin我在项目B中执行项目A的主类。

现在在这个主类中,我尝试使用ClassLoader.getSystemClassLoader();得到的类加载器从项目B加载一个类,但我得到一个ClassNotFoundException。我也尝试过类加载器this.getClass().getClassLoader();,但它没有改变任何东西。

我用mvn -X检查了类路径,并添加了项目的目标目录,所有已编译的类实际上也在那里。

如果我尝试从代码中检查类路径,我会得到/opt/maven/boot/plexus-classworlds-2.5.2.jar

2 个答案:

答案 0 :(得分:0)

找出问题所在。

正确的类加载器是this.getClass().getClassLoader();得到的。主要问题是我尝试加载测试类,并且target/test-classes不在类路径上。

答案 1 :(得分:0)

尝试使用ClassLoader.getSystemClassLoader().loadClass("class")

Documentation