【发布时间】:2018-02-19 08:26:59
【问题描述】:
现在我正在为我们的项目目的开发一个 maven 插件。
该插件具有参数dtoPackage,类似于"com/blablabla/dto"。它包含有关 DTO 类所在位置的信息。
另一个参数是 workingDirectory - 编译的类目录,类似于 ${project.build.directory}/classes/。
然后我想从插件中的 DTO 包中获取 Class 对象。我做什么:
URL[] urls = new URL[]{new URL("file:///" + workingDirectory.concat(dtoPackage))};
ClassLoader cl = new URLClassLoader(urls);
Class cls = cl.loadClass(dtoPackage.replaceAll("/", ".").concat(".DtoClassName"));
例外是:java.lang.ClassNotFoundException: com.blablabla.dto.DtoClassName
怎么了?
【问题讨论】:
-
我认为目录url不应该包含包名,只是类所在的根目录
-
您能否说出您的意图,因为您似乎正在尝试将运行时类加载到插件中
-
谢谢你,@zapl。它有效。
标签: java maven class maven-plugin