我正在进行以下设置:
我有一个项目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
答案 0 :(得分:0)
找出问题所在。
正确的类加载器是this.getClass().getClassLoader();
得到的。主要问题是我尝试加载测试类,并且target/test-classes
不在类路径上。
答案 1 :(得分:0)
尝试使用ClassLoader.getSystemClassLoader().loadClass("class")