如何从maven-plugin中获取项目类

时间:2018-02-19 08:27:00

标签: java maven class maven-plugin

现在我正在为我们的项目目的开发一个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

有什么问题?

1 个答案:

答案 0 :(得分:0)

感谢用户zapl。无需将 workingDirectory 字符串与 dtoPackage 字符串连接起来。以下代码按计划运行。

URL[] urls = new URL[]{new URL("file:///" + workingDirectory)};

ClassLoader cl = new URLClassLoader(urls);

Class cls = cl.loadClass(dtoPackage.replaceAll("/", ".").concat(".DtoClassName"));