我有两个项目是共同父项目的子项目。还有一个发电机项目和相应的发电机maven插件项目。此外,两个子项目都使用相同的输入文件,用于代码生成:
parent: pom
child1: jar
src/main/generator/input.gen
child2: jar
src/main/generator/input.gen
generator: jar
generator-plugin: maven-plugin
生成器插件是一个内部制作的Maven插件:
@Mojo(name = "generate", defaultPhase = LifecyclePhase.GENERATE_SOURCES, threadSafe = true)
public class GeneratorPlugin extends AbstractMojo {
@Parameter(required = true, readonly = true, defaultValue = "${project}")
private MavenProject project;
@Parameter(required = true, defaultValue = "${project.basedir}/src/main/generator/input.gen")
private File input;
...
}
Currenlty,此input.gen
在src/main/generator/input.gen
和child1
的{{1}}中重复。这是个问题。我想只有child2
的一个版本。
我应该如何构建我的项目?如何在input.gen
中为两个子项目的pom中的<configuration><input>...</input></configuration>
插件引用此共享副本?
答案 0 :(得分:4)
Maven Remote Resources Plugin可能是您正在寻找的内容。
这是example。
答案 1 :(得分:0)
我的观点是(未经测试):
input.gen
放入src/main/resources
input.gen
作为provided
范围添加共享相关性,以防止其以最终产品结束