【发布时间】:2015-12-07 15:52:53
【问题描述】:
我有一个奇怪的要求,即源是由基于 src/main/java 中的源的 jar 生成的。最终的 jar 应该捆绑生成的文件而不是 src/main/java 中的文件。
这是我所做的: 1.在src/main/java中添加源码 2. 添加 maven-exec-plugin 以从作为依赖项添加的 jar 调用 main-class 并传递所需的参数。 3. 添加build-helper-maven-plugin 将生成的源的路径添加到maven源中。 4. 添加了maven-jar-plugin 来包含和排除需要的类。
问题:执行第 2 步时,主类抱怨它无法找到 src/main/java 中存在的类。在用于动态创建实例之前编译类是否需要...如 Class.forname("package.Class")?
如果 maven-exec-plugin 在“编译”阶段之后执行,则没有 ClassNotFoundException,但问题是生成的源文件在捆绑之前没有被编译,我看到带有“.java”扩展名的文件被捆绑在生成的jar。
【问题讨论】:
-
看起来你真的应该分享你的
pom.xml,你不觉得......吗? :)